- 标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符
- 不能以数字开头。如:123name 就是不合法
- 标识符严格区分大小写。如: tmooc 和 tMooc 是两个不同的标识符
- 标识符的命名最好能反映出其作用,做到见名知意。
- 标识符不能是Java的关键字
#############################################################
不同字节代表开辟不同大小的存储空间,1 Byte = 8 Bits (1字节 = 8位)
±----------------------------------------------+
┆ 类型名 字节空间 取值范围 ┆
±----------------------------------------------+
┆整数型 byte 1 -128~127(有一位是0)
┆ short 2 … ┆
┆ int 4 ┆
┆ long 8 ┆
±----------------------------------------------+
┆浮点型 float 4 ┆
┆ double 8 ┆
±----------------------------------------------+
┆字符 char 2 ┆
±----------------------------------------------+
┆布尔 boolean 1 ┆
±----------------------------------------------+
#############################################################
除了8大基本类型,其他的都是引用类型(如String)
1)8大基本类型:
整型 byte short int long
浮点型 float double
字符型 char——只能保存一个字符,数据需要使用‘’包裹
布尔型 boolean——true,false
2)引用类型:数组 接口…
String——字符串——可以保存多个字符,数据使用“”包裹
#############################################################
ctrl+alt+方向键:屏幕显示翻转,上为正常。
数据类型调用方法时,这些数据类型叫做它们的“工具箱”。
科学计数法:13600,精确到十位,记作:1.360X10^4
aEb=a×10^b (1)3×104+4×104=7×10^4
#############################################################
char可以保存一个‘英文字符’或一个‘中文字符’
char c1 = ‘a’;//保存一个英文字符
char c2 = ‘中’;//保存一个中文字符
char c3 = 32;//可以直接保存数字,但会查ASCII码表
char c4 = ‘9’;//保存一个数字字符
char c5 = 56;
System.out.println(c1);
//如果char类型保存的是数字,那么会去ASCII码表中查询这个数字对应的字符打印出来
//char类型范围(065535)其中12865535范围内的字符,eclipse以?处理
#############################################################
Scanner:开启计算机的扫描模式把用户输入的信息收集起来。
java中 @SuppressWarnings(“resource”)----->SuppressWarnings这个批注可以取消一些特定代码段中的警告,比如你看到警告,你查了一下,发现他不是问题,可是你为了好看又不想让他报警,就可以加这个批注。
引用Scanner为什么会提示Configure problem severity----->这个是流,要关闭----->扫描仪名.close();–>关闭扫描仪(B模式输入才能关)
Eclipse中JAVA变量定义了未使用会报错。
A模式输入(此方法不够严谨,没有变量去调用close方法)
double r1 =new Scanner(System.in).nextDouble();
B模式输入
Scanner a =new Scanner(System.in);
double R = a.nextDouble();
#############################################################
整数字面值是int类型------>只要写一个整数就默认是INT类型(人为规定)----->输入超出INT范围数时必须在末尾加上【L】,告诉这个数它是double而非默认INT。
写一个小数就默认是double类型,末尾加上【f】则为float。
末尾加【D】则表示是double。
byte、short、char这几个比int小的数可以用范围内的数直接赋值------>byte(-128~127) b1 = 127;
运用:
System.out.println(3/2);//1,int/int,得到的结果类型还是int
System.out.println(3/2d);//1.5,int/double。得到的结果是double
#############################################################
进制前缀
0b - 标识这是2进制 ,如:0b0101
0 - 标识这是8进制, 8进制是三位,如: 023
0x - 标识这是16进制,如: 0x0001
\u - 标识这是char类型,属于16进制
#############################################################
char
↓
byte–>short–>int------>long
↓ ↙↘ ↓
float---->double
#############################################################
小到大(隐式转换)
byte m = 120;
int n = m;//小转大,右面的m是小类型,给左面的n大类型赋值,可以直接使用
float f = 3.2f(不写f则为默认的double);
double d = f; -->可以执行
大到小(显式转换)
int x = 999;
byte y =(byte)x;//大转小,右面x给左面的y小类型赋值,需强制类型转换
转换过程中可能导致溢出或损失精度,溢出就像钟表的指针超过12点,超过最大1点直接跳到最小
例如:int i =128; byte b = (byte)i; //打印的结果是-128
因为 byte 类型是 8 位,最大值为127,所以当 int 强制转换为 byte 类型时,值 128 时候就会导致溢出。
口诀:
小到大,直接转 大到小,强制转 浮变整,小数没
低 ------------------------------------> 高
byte,short,char→ int→ long→float→double
A模式:float c = (float) 3.14
B模式:float c = 3.14f;
double i =2.15;
int j = (int)i;//2–>浮变整,小数没
#############################################################
计算结果的数据类型,与最大数据类型一致
3/2–结果就是1,因为最大是INT
3d/2–结果是1.5,因为最大是double
3/2d–结果也是1.5
3.0/2–结果是1.5,因为小数默认自认是double
byte short char 三种比int小的类型,运算时会先自动提升成INT再参与运算
byte b3 = b1 + b2;错,这里实际上计算的是INT型的b1和b2相加,结果无法直接赋给更小的byte。
byte b3 = (byte)(b1 + b2);对。【笔试题中会出现】
光速:3亿m/s,求光跑一年的距离(光年)
System.out.println(300000000L606024365);正确
System.out.println(300000000606024365L);错误,
整数运算溢出出现在第一次计算中(300000000*60),这里的两个数任意一个加L皆可,但后面再加就无法得到正确结果了,因为错误已经在第一次计算中产生。
浮点数运算不精确的问题(面向对象阶段有精确计算的解决方案)
System.out.println(1-0.8);//0.199…98
除零会出现的问题:
①整数不能除0,数学报错。
②System.out.println(10.0/0);//小数除0,无穷
③System.out.println(0.0/0.0);//NaN–not a number
#############################################################
本记录:
关键字、标识符、注释、变量、基本类型、类型转换
运算规则(5条)
1.运算结果的数据类型与最大类型保存一致
2.3种比INT小的类型运算时要先自动提升成INT
3.
4.
5.
#############################################################
【练习】:
c=0;(笔试题)
print(–c-c-c–):1,最后现输出再自减
print©:-2,上面的减不影响变量,自减影响
求数字的绝对值:if(input < 0){return -input;}
ctrl+d:删除当前行
中文编码导致的乱码问题:当前项目–>右键–>主窗口中间GBK改UTF-8
cmd命令窗口:tree命令–>将当前目录下的文件以树形图的形式显示出来
搜狗–>属性设置–>可以启用"中文输入时使用英文标点"
第一次给变量值–>初始化
之后给变量值–>赋值
int a = 3;这里的3叫字面量
类型的工具箱写法:(两个特殊的)
int—>Integer
char—>Character
windows计算器有程序员模式–>不同进制同时显示.
char变量的字符(在范围内)赋值给INT变量,输出INT变量可发现变为了对应数字.
该数字赋值给Char变量,输出Char变量,可发现变回了对应字符.
自增自减符出现时只要不是单独出现,就先运行语句再增减.