Day02(注释,关键字,标识符命名规则,数据类型,字节,进制,转义字符,类型转换,变量,作用域,常量,运算符)
注释并不会被执行,书写注释是一个非常好的习惯。
单行注释 //
多行注释/*注释 */
文档注释 JavaDoc
/**
*/
control+D在IDEA里是复制当前行到下一行
标识符和关键字
关键字

所有的标识符都应该以字母A-Z或a-z,美元符$或者下划线_开始
不能使用关键字作为变量名或方法名
标识符是大小写敏感的。
数据类型
JAVA是强类型语言,要求变量的使用要严格符合规定,所有变量都
必须先定义后才能使用。(安全性更高,速度稍慢)
弱类型语言则相反。
JAVA的数据类型分为两大类
基本类型和引用类型。
基本数据类型包含数据类型和boolean类型
数据类型包含(八大基本数据类型)
1.整数类型(byte占一个字节范围,short两个,int四个,long八个)
2.浮点类型(小数)(float四个字节,double八个字节)
3.字符类型(char两个字节)
boolean类型只有true和false(占一位)
除了基本类型的都是引用类型
类,接口,数组。
什么是字节(1B)
-
位(bit):是计算机内部数据存储的最小单位
-
字节(byte):是计算机中数据处理的基本单位,一般用B来表示
-
1B(一字节)=8bit(八位)
-
字符是指计算机中使用的字母,数字,字和符号。
-
1024B=1KB,1024KB=1M,1024M=1G
JAVA中的进制
-
整数类型扩展
二进制用0b表示,八进制用0表示,十六进制用0x表示
-
浮点类型扩展
浮点类型是有限的离散的会舍入误差,接近但不等于
最好避免完全使用浮点数进行比较。
银行业务用BigDecimal类来表示。
-
字符类型扩展
所有的字符本质还是数字,unicode编码表
-
布尔值扩展
boolean Name=true
if(Name==true){}和if(Name){}是一样的效果
转义字符
\t跳转到下一个TAB位置
\n换行,将当前位置移动到下一行开头
\r回车,将当前位置移动到本行开头
\ '和\ "表示单引号字符和双引号字符\ \代表反斜线\字符
类型转换
运算中,不同类型的数据先转化为同一类型然后再进行运算。
byte,short,char->int->long->float->double从低到高
强制转换:(需要转换的类型)变量名 从高--低
自动转换:低--高
一定要注意溢出问题
注意点:
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
转换时可能存在内存溢出或者精度问题
变量
变量就是可以变化的量。
java是一种强类型语言,每个变量都必须声明其类型
java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域
定义格式:数据类型 变量名 = 值(可以使用逗号隔开来声明多个同类型变量)
注意事项:
-
每个变量都有类型,类型可以是基本类型,可以是引用类型
-
变量名必须是合法的标识符
-
变量声明是一条完整的语句,因此每一个声明都必须以分号结束。
变量及作用域
-
局部变量必须声明和初始化值,只存在于方法中
-
实例变量从属于对象如果不自行初始化,会是默认值
变量类型 变量名字=new变量类型()
Demo1 name=new Demo1();
数值类型一般是0或者0.0,字符是u0000,布尔值默认false
除了基本类型其他的默认值都是null
-
类变量 static(是一个修饰符)
常量
初始化后就不能在改变值,不会变动的值。
所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中
不允许被改变
常量名一般使用大写字母,修饰符不存在先后顺序
final double PI=3.14
变量的命名规范
1.所有变量,方法,类名:见名知意
2.类成员变量:首字母小写和驼峰原则:出了第一个单词以外,后面的单词首字母
大写lastName,局部变量和方法名都用首字母小写的驼峰原则。
3.类名:首字母大写和驼峰原则。
运算符
取余运算又称为模运算
1.算术运算符:+,-,*,/,%,++,--
2.赋值运算符:= 如a=5 把5赋值给a
3.关系运算符:>,<,>=,<=, ==,!=,instanceof
4.逻辑运算符:&&与,||或,!非
在“与”的关系中如果第一个就为假则不继续进行判断
5.条件运算符:?:
6.扩展赋值运算符:+=,-=,*=,/=
7.位运算符:&,/,^,~,<<,>>
A=0011 1100 B=0000 1101
A&B=0000 1100(与)
A/B=0011 1101(或)
A^B=0011 0001(异或,相同就为0,不相同为1)
~B=1111 0010(取反)
<<相当于*2 >>相当于/2
面试题
2*8如何运算最快
System.out.println(2<<3)2左移三位相当于2的3次方
字符串连接符 +
int a=10; int b=20;
System.out.println(""+a+b); 1020 输出的是字符串类型
System.out.println(a+b+""); 30 输出的是整数类型
运算结果中如果包含long类型则结果为long类型
浮点运算有一个操作数类型为double结果就为double
int b=a++ 执行完这行代码后,先给b赋值,再自增。
++a是执行这行代码钱,先自增再给b赋值。
幂运算 Math.pow(2,3)
三元运算符 x ? y: z如果x==true结果为y,否则结果为z
int score=80;
String type=score < 60 ?"不及格":"及格";
几元运算符指的是有几个操作数

浙公网安备 33010602011771号