个人关于学习JAVA的一些小知识点的整理
- 第一章
1.JAVA的编译运行?
编译
将我们编写的.java源文件翻译成机器语言
保存在项目的bin路径下
运行
运行时实际上运行的是编译后的.class文件(字节码文件),
JVM来执行class文件
JVM是负责运行java程序的最终单位
(一次编译到处使用,可以用与其他系统运行)
2.什么是标识符?
在java源程序中,凡是程序员有权利自己命名的单词,都是标识符。
-----可以标识什么元素呢?
类名(class XXXXX)
变量名
方法名(void say())
接口名
…
----标识符的命名规则?
不能数字开头,区分大小写,关键字不能做标识符
由数字、字母、下划线、组成,不能有其他符号
----标识符的命名规范?
1.见名知意
2.遵守驼峰命名方式
3.类名、接口名:首字母大写,后面每个单词首字母大写
4.变量名、方法名:首字母小写,后面每个单词首字母大写
5.常量名:全部大写
3.public class和class的区别:
public class是公开类
一个java源文件可以定义多个class,同时会生成一个xxx.class文件
public的class不是必须的,而且public的class只能有一个,并且该类名必须和java源文件的名称一致
每一个class中都可以编写main方法
4.string和char的区别
char是表示的是字符,定义的时候用单引号,只能存储一个字符。例如; char=‘d’.
而String表示的是字符串,定义的时候用双引号,可以存储一个或者多个字符。例如:String=“we are”。
char是基本数据类型,而String是个类,属于引用数据类型。String类可以调用方法,具有面向对象的特征。
5.八种数据类型所占空间大小?
byte类型能存储单个任意字符(-128~127)
Char类型能存储单个任意字符(0~65535)
boolean x=(money-thing)>=0&&money>0&&thing>0;
System.out.println(x);//boolean的使用
6.++运算的小细节
int a=100;
int b=a++;
System.out.println(a);//101
System.out.println(b);//100
//++出现在变量后
//规则,先做赋值运算,再对变量中保存的值+1
int c=100;
System.out.println(c++);//100
System.out.println( c);//101
int d=100;
System.out.println(++d);//101
System.out.println(d);//101
7.逻辑与和短路与
int x=3;
int y=5;
System.out.println(x>y&&x=y);//false
//区别:短路与的后面没有执行判断x是否=y,因为整个表达式的结果已经确定为false,而逻辑与会继续执行后面的判断
短路与&&
逻辑与&
8.运算时的类型转换问题
1.八种基本数据类型除了布尔类型外都可以相互转化
2.小容量可以向大容量转换,成为自动类型转换,容量从小到大排序
byte<short<int<long<float<double
…````char<
注:任何浮点类型不管多少个字节,都比整数类型大,char和short可表示的种类数量相同,但是char可取更大的整数
3.大容量转换成小容量,需要添加强制类型转换符,但可能损失精度,谨慎使用
byte x;//例子
x=6;
//x= (x+6);6为默认为Int类型,大容量向小容量转换需添加强制转换,故此行错误
x=(byte)(x+6);
System.out.println(x);//12
byte c=5;
c+=5;//此行成功是因为等同于:c=(byte)(c+5);并不等同于c=c+5
System.out.println(x);//10
4.当整数字面值没有超出byte,short,char的取值范围,可以直接赋值给byte,short,char类型的变量
5.byte,short,char混合运算时,各自先转换成Int类型再做运算
6.多种数据类型混合运算时,先转换成容量最大的类型再做运算
7.int型,转换数直接截取整数部分,不进行四舍五入运算。例如:
int(123.456);//取值为123
int(-123.456);//取值为-123
9. 基本数据类型的字面值表达
1.浮点型
double c=3.0;
System.out.println( c);//正确
float c=3.0;
System.out.println( c);//错误
//字面值【3.0】,默认被当做double类型来处理,要想把字面值当作float类型来处理,需要在字面值后面添加F/f
2.long类型
long x=100L;
System.out.println(x);//L表示为long型,正确Long
long j=8888;其中8888是默认int类型,但没有超过long的取值范围,故不会报错
3.char类型
Char c=7;不加‘ ’,因为数字代表字符
f和L不加的后果:
不加L默认是int,int转为long是安全的,所以会自动转,能编译通过。
如果超过int的取值范围还不加L,那么也会直接报错了
浮点数不加F默认是double类型,double转float可能损失精度,因为不会自动转,编译通不过
10.java语言当中的整数型字面值有三种表示方式:
1.十进制【默认】
2.八进制 整数型字面值需要以0开头【例子:int b=010】
3.十六进制 整数型字面值需要以0x开头