[-----------android培训、java培训、java学习型技术博客、期待与您交流!------------](http://itheima.com)
一 java代码中的注释
概述:就是对代码的解释说明性的文字,以便于阅读和理解
分类:
A:单行注释 //
B:多行注释 /* */
C:文档注释(面向对象部分讲解)
作用:
A:对程序进行说明,给人看。
B:可以对程序进行排错。
//////////此处需要一个截图
二 java的关键字
概述:被java语言赋予特定含义的单词
特点:关键数字所有的字母都是小写
分类:
A:用于定义数据类型的关键字
class、interface、byte、short、int、float、double、long、char、boolean、void
B:用于定义数据类型值的关键字
true、false、null
C:用于定义流程控制的关键字
if、else、switch、case、default、while、do、for、break、continue、return
D:用于定义访问权限修饰符的关键字
private、protected、public
E:用于定义类、函数、变量修饰符的关键字
abstract、final、static、synchronized
F:用于定义类与类之间关系的关键字
extends、implements
G:用于定义建立实例,及引用实例,判断实例的关键字
new、this、super、instanceof
H:用于定义异常处理的关键字
try、catch、finally、throw、throws
I:用于包的关键字
package、import
J:其他修饰符关键字
native、strictfp、transient、volatile、assert
三 标识符
(1)就是给类,接口,方法,变量等起名字。
(2)组成规则:
A:由数字,字母,_以及$组成。
B:不能以数字开头。
C:不能是java中的关键字。
(3)常见的命名规则:
见名知意,驼峰命名法(单词的第一个字母大写)这是一种预定成俗的规定,也不是标准
A:包 全部小写
单级:com,cn,linakng
多级:cn.itheima,com.baidu
B:类或者接口
一个单词:Student,Teacher
多个单词:HelloWorld,MakeName
C:方法或者变量
一个单词:main(),name,age
多个单词:studentName,showName()
D:常量 全部大写
一个单词:MAX
多个单词:STUDENT_MAX_AGE
四 常量
(1)在程序的执行过程中,其值是不发生改变的量。
(2)分类:
A:字面值常量
B:自定义常量
(3)字面值常量的分类:
A:整数常量 12,23
B:浮点数常量 12.345
C:字符常量 'a','A','2'
D:布尔常量 true,false
E:字符串常量 "hello","world"
F:空常量 null
5:进制转换相关
(1)进制:是一种计数的方式。
x进制表示逢x进1。
(2)java中的整数的表现形式:
二进制:以0b开头,由0和1组成。
八进制:以0开头,由0-7组成。
十进制:由0-9组成。整数默认是十进制。
十六进制:以0x开头,由0-9,a-f组成。
(3)其他进制到十进制的转换:
系数*基数的权次幂的和。
(4)十进制到其他进制的转换:
除基取余,直到商为0,余数反转。
(5)x进制到y进制
x - 十进制 -- y进制
(6)二进制 -- 八进制或者十六进制
A:二进制 -- 十进制 -- 八进制或者十六进制
B:二进制 -- 三位组合 -- 八进制
二进制 -- 四位组合 -- 十六进制
(7)8421码
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
6:有符号数据表示法(了解)
(1)在java中,我们的数据是有正负之分的。
(2)在计算机存储和运算的过程中,数据都是采用补码进行的。
(3)原码,反码,补码
正数:原码,反码,补码和二进制形式相同。
负数:原码和正数的二进制的数值部分相同,符号位是1。
反码和原码的区别是:符号位不变,数值为1变0,0变1。
补码:反码+1
(4)byte的范围:
byte占用1个字节:
0 1111111 - 127
(byte)128 -- -128。
1 0000000 -- 这里的1既可以看成符合位,又可以看成数值位。
-128
除了:1 0000000 这种特殊情况外,其他的是什么样子就是什么样子的。
7:变量
(1)在程序执行的过程中,其值在某个范围内可以发生改变的量。
(2)格式:
A:数据类型 变量名 = 初始化值;
int a = 10;
B:数据类型 变量名;
变量名 = 初始化值;
int a;
a = 10;
(3)注意:
在使用一个变量的时候,必须先声明,赋值,最后才能使用。
8:数据类型
(1)分类:
基本类型:4类8种。
引用类型:类,接口,数组。
(2)基本类型:
整数: 占用的字节
byte 1
short 2
int 4
long 8
浮点数:
float 4
double 8
字符:
char 2
布尔:
boolean 1
(3)注意:
A:整数默认是int类型,浮点数默认是double类型。
B:如果一个数据想表示为long类型,要加L或者l。
如果一个数据想表示为float类型,要加F或者f。
9:数据类型转换
(1)在运算的时候,要求数据的类型一致。
(2)分类:
boolean类型不参与。
A:隐式转换:(自动转换)
从小到大。
byte,short,char --> int --> long --> float --> double
byte,short,char这三个类型之间不转换,他们参与运算的时候都先自动转换成int类型
B:显示转换:(强制转换)
从大到小。
格式:
目标数据类型 变量 = (目标数据类型)(被转换的内容);
如: byte b=(byte)2;
(3)long --> float为什么是这个样子的?
因为他们底层的存储方式不一样。
long : 2^63
float : 3.4*10^38
3.4*10^38 > 2*10^38 > 2*8^38 > 2*2^3^38 = 2*2^114 > 2^63
(4)byte数据类型的范围是 —128————127,如果超出这个范围,如(byte)130则把剩余的位数重新从-128开始循环
130-127=3,所以从-128开始查3个数,就是130的byte对应的数值 -126
10:运算符(掌握)
A:算术运算符
+,-,*,/,%,++,--
/:整数相除,结果只能是整数,要想是结果为小数,必须让参与运算的数有一个数小数类型
+:正号,加法,字符串连接符
%:取得余数
++,--:
单独使用:在操作数据的前后效果一致。
参与操作使用:
在操作数据的前面,是先++或者--,然后参与操作。
在操作数据的后面,是先参与操作,后++或者--。
B:赋值运算符
=:把右边的内容赋值给左边
+=,-=,*=,/=,%=:把左边的和右边的操作后赋值给左边。
注意:
+=隐含了强制类型转换。
x+=y;等价与:x = (x的数据类型)(x + y);
11:面试题:
A:类型转换
规则:如果是变量相加,编译器先提升类型,在相加
如果说是常量相加,编译器先做计算,在判断结果是否在该数据类型的范围内,
是的话编译通过,否则,不通过
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
byte b4 = 3 + 4;
B:强制转换数据溢出的问题:
byte b = (byte)130;
byte bb = (byte)300;
C:赋值运算符
short s = 1;
s = s + 1;这个有问题,运算结果是int类型,却赋值给了short类型,可能损失精度
和
short s = 1;
s += 1;没问题,+=符号中,存在自动类型转换,
s=(short)(s+1);
D: byte b = 1; b = ++b;
---知识点:自增与自减遵循以下规律
1.可以用于整形数据类型(byte,short,int,long,),浮点类型(float,double),字符类型(char)
2.在Java5.0及以上版本中它们可以用于基本类型对应的包装器类
3.它们的运算结果的类型与被运算的变量的类型相同
由此知识点知:b = ++b;此语句运算结果仍为byte类型,所以正确
-----Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------