java语言基础组成
- 关键字
- 标识符
- 注释
- 常量和变量
- 运算符
- 语句
- 函数
数组
需要掌握:
- 掌握表现形式(固定的)
- 什么时候使用。
- 关键字
标识符
- 在程序中自定义的一些名称
- 由26个英文字母大小写,数字、_$组成
- 定义合法标识符规则
1.数字不可以开头
2.不可以使用关键字 - Java中严格区分大小写
- 注意:在起名字的时候,为了提高阅读性,要尽量有意义。
注释
- 用于注解说明解释程序的文字就是注释
- 提高了代码的阅读性
java中的注释格式:
单行注释
- 格式: //注释文字
多行注释
- 格式: /* 注释文字*/
文档注释
- 格式:
/** 注释文字 **/
- 格式:
在写代码时,首先要写的就是多行注释(代码仅仅是思想的一种体现形式)
注意:.java 转换成.class 文件时,并不包含注释。所以当有人问你添加了这么多的注释,那.class文件岂不是会变大? 其实没有 影响的。
常量与变量
java中常量的分类:
- 整数常量,所有整数
- 小数常量。所有小数
- 布尔型常量,只有true 、false
- 字符常量。将一个数字字母或者符号用单引号(’ ‘)标识 ‘a’
- 字符串常量。将一个或者多个字符用双引号(” “)标识 “”, “w”
- null 常量。只有一个数值就是null
- 对于整数:有四种表现形式
- 二进制 0、1 满2进1
- 八进制 0-7,满8进1
- 十进制 0-9,满10进1,
- 十六进制:0-9,A-F ,满16进1 用0x开头表示。
- 小结
- 八进制数,其实就是二进制位 3个二进制位一个八进制位。
- 十六进制:其实就是二进制中的四个二进制位为一个十六进制位。
- byte 字节=8个二进制位
- ip地址v4 比如192.168.1.255 。其实就是四个字节,一个字节8位2进制,所以最大值就是255.
-
- 整数在计算机中用四个字节表示。
- 比如6在内存中的表示是0000-0000 0000-0000 0000-0000 0000-0110
- 那么-6呢,其实就是这个数的正数二进制取反,加1
- 取反0000-0110 这个是6 ,取反是 1111-1001 然后再加1
-
1111-1001
0000-0001 这俩个数相加
1111-1010 这个是-6
- -
java的变量
- byte 一个字节(-128——127),short 俩个字节(-32768-32767) int四个字节,long 八个字节
char c = 'A';
int i = c;
char cc = 'a';
int ii=cc;
System.out.println(i + "_" + ii);
输出结果65_97
java语言基础(类型提升和强制类型转换)
首先 ‘a’=97 ‘a’是char类型自动转成int类型所以’a’+1 输出的结果是98
但是‘a’输出的是 a
那么char类型a为什么能和数字运算啊?
其实为了计算机和生活中的a-z能够计算,所以做了一个映射表。叫二进制和生活中文字的对应关系表。也叫做编码表。ASCII(美国)
之后在中国就有了GBK 中文和二进制的对应关系。
- 在变量这块的可能的面试题:
byte b=4;
byte b1=7;
byte b2=3;
b=b1+b2;
Syste.out.println(b);
这个问题处在哪?主要是b1和b2 都是btye类型这没有错,但是相加之后自动提升为int类型,那么把int结果赋值给byte 类型的b 那么就会出错,会丢失精度。比如如果b1=127 ,b2=3 那么相加结果在给b就丢失精度,byte的最大值是128.所以丢失精度了。
- 面试二
int x1=Integer.MAX_VALUE;
int x2=98;
int x;
x=x1+x2;
System.out.println(x);
结果:是-Integer.MAX_VALUE
运算符
算术运算符:+、-、*、\
% 这个符号是取余数
int x=6370;
x=x/1000*1000
结果是什么呢?
是6000.因为x/1000 俩个整数相除在生活中是6.37.但是java中来个整数相除结果还是整数所以是6 。然后再乘以1000最后的结果是6000.
来一道面试题取模运算
System.out.println(5%-2); //结果是1 。 对于取余数参考被除数。
System.out.println("5+5="+5+5); //结果是 5+5=55
System.out.println("5+5="+(5+5));//结果是5+5=10
面试题 :
short s=3;
s+=4;
s=s+4;
那么s+=4和s=s+4 有什么区别?
+=是一次性赋值运算符,这个是底层自动的进行了强制转换 是赋值运算具备的动作。
而s=s+4 是一个变量加上了一个int类型会丢失精度,所以会报错。
坚持学习!!!!!!!