关键字:被Java语言赋予了特定含义的单词
关键字特点:字母全部小写,编辑器直观显示.
常量含义;在程序的执行过程中,其值不可以发生改变的量
常量分类;
A;字符串常量;"helloworld"
B 整数常量;12,-34
C.小数常量 1.5 2.3
D 字符常量 '1' 'q'
E 布尔常量 true false
F 空常量 null
变量含义;内存中一小块区域,在程序的执行过程中,其值可以在一定范围内发生改变量
组成;
A 对区域要有限定
如何限定? 用数据类型来限定
B 区域要有名称
变量名
C 区域要有变量
初始化值
数据含义;
数据类型分类
A 基本数据类型
B 引用数据类型 (类,接口,数据)
基本数据类型
分4类8种
A 整数 占用字节数
byte 1 -128--127
short 2
int 4
long 8
B 浮点型
float 4
double 8
C 布尔型
boolean 1
D 字符型
char 2 可以存储中文
byte short char > int > long > float > double
整数默认int 存储 int x= 10;
小数默认double 存储 float x= 10.0f;
double xiuxiu = 10.0;
定义float类型和long类型要注意
float 取值时要加F或者f,
long 取值时值在int范围内时可以不加,超过范围要加L或l.建议直接加大写L
float的取值范围比long大.
标识符;用来给包,类,方法,变量等起名字的符号.
组成规则;
A,unicode 字符
数字字符,英文大小写字母,汉字(不建议使用汉字)
B,下划线 _
C,美元符 $
注意;不能数字开头,中间不能有空格,不能是关键字
常见命名规则;
A,基本要求
见名知意
B,常见的命名
a.包(其实就是文件夹,用于对类的管理)
全部小写,多级包.隔开 域名反写
b.类
单个或多个单词,首字母大写
c.方法和变量
一个单词,都小写.多个单词,从第二个单词开始首字母大写
d.常量
每个字母都大写,多个单词用_隔开
变量定义的注意事项;
A.变量未赋值,不能直接使用
B.变量只在它所属的范围内有效
变量属于它所定义到右大括号结束
C.一行可以定义多个变量,但是不建议
数据类型中的类型转换;
分类;
隐式转换;(自动类型提升)
int + int类型,其结果用int 类型接收
int + byte类型 先将取值范围小的byte类型提升成int类型.在坐运算
取值范围;byte short char > int > long > flost > double
强制转换;目标类型 变量名 = (目标类型) (被转换数据);
建议;数据做运算,结果属于什么类型,就用什么类型接收,
尽量不要强制转换,结果会损失精度
byte char short > int > long > flost > double 取值范围大小
byte b = 3; //java有常量优化机制
// -128~127,由于3属于byte 取值范围内,那么jvm会检查,在范围内会自动做强转
运算符
算数运算符 + - * / % ++ --
逻辑运算符; & | ^ ! && || (连接两个boolean类型的关系式)
关系运算法符; == (不要写成一个=号.=是表示附值);
附值运算符 += -= *= /= %=
三元运算符
关系运算符;!= ;>;>= ;< ; <= ;
关系运算符 ,条件表达式,布尔(boolean)表达式 都是一种表达式
结果都是boolean类型 true 或者 false
字符参与运算;
'A' = 65
'a' = 97
'0' = 48
字符串参与加法运算.其实做的不是加法运算,而是字符串的拼接
++在后面,先拿变量做操作,然后变量再++(+1)
++在前面,变量先++(+1),然后再拿变量做操作
int a = 10;
System.out.println(a++) 输出是10 然后a = a + 1 = 11
System.out.println(++a) 输出是12 a = 1 + a = 1 + 11 = 12
赋值运算符
+= -= *= /= %=
int a = 10
a += 20
System.out.println(a); 输出是30
++ -- += 类都包含了强制类型转换
byte a = 10;b
b += a // byte b = a + b a + b 默认是int类型.
逻辑运算符 (连接两个boolean类型表达式) & | ^ ! && || 结果是boolean类型.true false
& (逻辑与)有false 则false && 有false则false
|(逻辑或) 有true则true
^(逻辑异或) 相同则false 不同则true 例如男女关系,男男false 男女true
!(逻辑非) true则false false则true
&&(短路与)具有短路效果,前面false后面不执行,&不管前后是true还是false都执行
&& 短路情况(&&)下,左边是false时,右边不执行 结果是false
& 左边是false时,两边都执行 结果是false
|| 短路情况(||)下,左边是true时,右边不执行 结果是true
| 左边是true时,两边都执行 结果是true
三元运算符;
关系表达式?表达式1:表达式2
执行流程;
A;计算关系表达式的值,看是true还是false
B;如果是true, 结果是表达式1
如果是false,结果是表达式2
eclipse 快捷键
Alt+/ 自动补全.提示信息,帮助写构造方法的参数
Ctrl+Shift+F 代码格式化
Ctrl+Z 返回
Ctrl+Y 前进
Ctrl+/ 行注释
Ctrl+Shift+/ 多行注释
Ctrl+Shift+\ 取消多行注释
Ctrl+Shift+o 导入包
Alt+上下箭头 移动行向上/向下
Ctrl+Alt+上下箭头 复制当前行或多行
Ctrl+D 删除当前行
Ctrl+1 意见提示功能 可以自动创建方法.
Ctrl+2 L 创建当前对象
shift + enter 直接进入下一行 不改变本行内容.
shift + 光标 /+ End 直接选中
shift + Tab 前移
Alt + shift + r 选中所有相同的变量.
Ctrl + shift + T 查看源代码
Ctrl + shift + Y 转成小写
Ctrl + shift + X 转成大写
Ctrl + 鼠标左键 (可以查看变量的由来)查看源代码(回来用Alt + <-)
Ctrl + n 在包下创建文件
Alt + shift + S 有下划线点击那个字母就可以创建get 构造函数等.
Alt + shift + M 封装成方法;
Alt + shift + L 创建对象来接收
数组定义格式 A.数据类型[] 数组名;int[] arr 这种方式用的比较多 B .数据类型 数组名[]; int arr[] 推荐用a方式,但是b方式要看得懂 解释:A是定义一个int类型的数组,数组名是arr B是定一个int类型的变量,变量名arr[ ]数组 数组的初始化 a、动态初始化 只给长度,系统会给出默认值 举例: int[] arr = new int[3]; b、静态初始化 给出值,系统决定长度 举例:int[] arr =new int[] {1,2,3}; 简化 int[] = {1,2,3}; 总结:所谓数组初始化,就是为数组开辟内存空间,并为 数组的每个元素赋予初始值。
new:在右边为数组申请内存分配开辟空间
数组中最常见的问题 A:ArryIndeoutofboundsExcption:数组索引越界异常 原因:你访问了不存在的索引,超过其数组长度了 B:NullPointerException:空指针异常 arr =null System.out.println(arr[0]); 原因:数组已经不在指向堆内存了,而你还用数组名访问元素。
为了解决我们去解决数组元素的个数,数组就提供了一个属性:length 用于获取数组元素的个数 格式:数组名.length int[] arr; System.out.println("数组共有"+"arr.length"+"个")
数组遍历: public static void printArray(int[] arr) { for(int x=0; x<arr.length; x++) { System.out.println(arr[x]); } }
最大值: public static int getMax(int[] arr) { int max = arr[0];
for(int x=1; x<arr.length; x++) { if(arr[x] > max) { max = arr[x]; } } return max; }
最小值: public static int getMin(int[] arr) { int min = arr[0];
for(int x=1; x<arr.length; x++) { if(arr[x] < min) { min = arr[x]; } } return min; }
逆序 public static void reverse(int[] arr) { for(int start=0,end=arr.length-1; start<=end; start++,end--) { int temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; } } |