java基础知识2(学习笔记)

说实话,总结笔记挺花费时间的,正常一篇要两三个小时,因为我也要重新温习一遍知识,所以发表时间可能不稳定,看时间吧,宽裕的话,尽量坚持发。


前言

这一次,我们继续之前的,还是从基础开始讲起来。


一、变量

1.概念:变量相当于内存中一个数据存储空间的表示,通过变量名可以访问到变量(值)。

2.变量的三个不同要素:类型+名称+值

3.定义变量

①不同的变量,数据类型不同,占用空间的大小不同。

②变量必须:先声明,后使用,即有顺序。

③因为变量表示内存中的一个存储区域,(和该区域必须有自己的名称【变量名】类型【数据类型】),该区域的数据可以在同一类型范围内不断变化1(不同类型不能随意变化),同时,变量在同一个作用域内不能同名2。

解释:(1)比如说int num1 = 1;你将1赋值给了num1,其数据类型是整型,那么,你可以把其他的整型赋值给num1,比如说 num1=10;但是不能 num1 ="hello";这里hello是字符串类型的,而int 是整型的,两者不能随意相互转化(后面讲到数据类型时会详细讲解)。

(2)在同一个作用域中,如果两个变量同名的,系统将会报错,因为无法正确的辨别出,实际要输出的对象。比如:

int num1 = 10;
int num1 = 11;
System.out.println(num1);

结果会弹出:

二、程序中 + 号 的使用

1.当左右两边都是数值型时,则作加法运算。(char 型可以看作数值型,故char型的变量或着值可以参与运算)

eg:

System.out.println(10 + 10);   

2.当两边有有一方为字符串(或者都是字符串String类型),则作拼接运算。数字与字符串的 “+”, 运算结果为字符串)

System.out.println("10" + 10);

3.运算顺序:从左到右

System.out.println(100 + 3);
System.out.println("100" + 3);
System.out.println(100 + 3 + "Hello");
System.out.println("Hello" + 100 + 3);

(很有意思,数字与字符串 相加+ 时,做拼接运算,此时整体都是字符串,在加一个数字,还是字符串。)

三、数据类型*

1.概述

关于基本数据类型可以看我之前C语言中总结的,大致内容一样。昨天先大概学了C语言,这是笔记,可能有不对的地方,请前辈们指出-CSDN博客

2.整数类型

不一样的:


①Java各整数类型有固定的范围和字段长度,不受具体操作系统的的影响
保证java程序的可移植性。
②Java的整型常量(具体值)默认为int型,声明long型常量须后加T或L
③java程序中变量常声明为int型,除非不足以表示大数,才使用long
bit:计算机中的最小存储单位,比特位。byte:计算机中基本存储单元,字节.1byte=8bit

3.浮点(小数)类型

1.浮点数 = 符号位 + 指数位 + 尾数位

2.浮点型有两种表示形式

①十进制数形式:(必须有小数)。

②科学计数法形式:5.12e2【5.12*10的二次方】。

3.浮点数使用陷阱:

2.7  和  8.1/3  是否相等

输出结果发现:double num2 = 8.1/3;

(输出2.666666667接近2.7)

因此:当我们对运算结果是小数的进行相等判断时,要小心应该是以两个数的差值的绝对值,在某个精度范围内判断。

注意:如果做选择题时:遇到double num1 = .512是否正确,判断为正确,整数为零,可以省略。

4.字符类型

解释:双引号“ ”中引的内容会被系统默认为字符串类型,而非字符。因此,在字符的赋值时要用单引号而非双引号。

1.举例说明:

char n1 ='\n';
char n2 = '\t';
char n3 = '\r';
char n4 = '\\';
char n5 = 97;
char n6 = 48;
char n7 = '3';
System.out.println(n1);
System.out.println(n2);
System.out.println(n3);
System.out.println(n4);
System.out.println(n5);
System.out.println(n6);
System.out.println(n7);

注意:有些人可能开始疑问了,为什么n5,n6定义的时97,48,输出时结果为什么是 a和0

char型输出时,是要以其对应的字符(编码表unicode码)的形式输出的。那如果我非要输出时为数值型,怎么办,强制类型转换。

 System.out.println((int)n1);

2.char类型是可以运算的,相当于一个整数。因为他都对应有UNIcode码。

char n1 = 'a'+1;
System.out.println(n1);

3.字符类型的本质

4.ASCII码表一个字符由一个字节表示,一共128个字节,但实际上一个字节可以表示256个字符,但是只用了128个字节。(无法满足其他国家的应用,应此设计除了UNIcode编码表)码表。(但是,由于unicode使用时,有些浪费空间,所以就有了utf-8)。

ASCIl(ASC编码表一个字节表示一个128个字符,实际上一个字节可以表示256个字符,只用128个)

Unicode (Unicode编码表固定大小的编码使用两个字节来表示字符,字母和汉字统一都是占用两个字节, 这样浪费空间) 


utf-8(编码表,大小可变的编码字母使用1个字节,汉字使用3个字节)

gbk (可以表示汉字,而且范围广,字母使用1个字节,汉字2个字节)

gb2312(可以表示汉字,gb2312<gbk)

big5码(繁体中文,台湾,香港)

5.字符和码值对应关系是通过字符编码表决定的(是规定好的),不同的编码对文件的大小有影响,对字符也有一定的影响。

5.boolean 布尔型

1.布尔类型数据只允许取值true 和false。没有null

注意:在Java中不可以用0或非0的整数代替false和true,这与c语言不一样。

eg:

2.boolean类型值占一个字节

3.boolean类型适用于逻辑运算,一般用于程序流程控制:

①while循环控制语句

②do-while循环控制语句

③for循环控制语句


总结

本次我主要总结了变量,程序中 + 号的使用,数据类型三个方面,关于数据类型的转换会再下一次笔记中提及,本篇中知识点介绍的截图是哔站上老师的课上的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值