第一阶段总结
1.变量
在使用变量之前必须赋一个值给变量,使用赋值语句是为变量赋值的方法之一,另一种方法就是在声明变量时赋给变量一个初值,要在变量后加一个等号,后面加一个值,当使用逗号来分隔多个变量时,可以给那些变量赋一个初值
动态初始化
初始化表达式可以在初始化时使用任何有效元素,包括调用方法和其他字面值
作用域
我们使用的变量都是在main()方法处声明的,java允许变量在任何代码块中声明,代码块决定了作用域,建新的代码块时就是在建新的作用域,大多数计算机语言都定义了两个最基本的作用域:全局作用域和局部作用域。
变量在进入作用域时被创建,离开时被销毁,也就是说变量一旦离开作用域就不会存储原来的值。
基本数据类型
1) int 整数类型
2) byte 整数类型
3) char 字符型
4) long 长整型
5) short 整数类型
6) float 单精度浮点型
7) double 双精度浮点型
8) boolean 布尔类型
数据类型转换
1)基本数据类型种除了 boolean类型以外,剩余7种类型可以进行相互转换
2)当取值范围小的类型赋给取值范围大的类型,构成自动类型转换也叫做隐式类型转换
byte short char int long float double 取值范围从小到大排序
3.当取值范围大的类型不能直接给取值范围小的类型赋值,则必须进行强制类型转换也叫做显式类型转换,但是可能会存在精度丢失
4.当对byte short char 类型赋值时,如果没有超出该类型取值范围则可以直接赋值
5.当对byte short char 类型进行混合运算时,则先转为int类型然后再进行计算
6.当多种数据类型进行混合运算时,则选择为取值范围大的类型然后再进行计算
2.循环
for循环
for(表达式1;表达式2;表达式3){
}
for(表达式1;表达式2;表达式3){
switch(){
case 1:
System.out.println();
break;
...
}
}
for-each循环
可以从头到尾严格的遍历数组
for-each中的for可自动执行前面的for循环,也就是说,不再需要创建循环计数器,指定初始值和终值以及手动索引数组。
while循环
while(条件表达式){
}
3.if else;switch case
if(判断语句){
}else{
}
嵌套if语句
if(){
if(){
}
}else{
}
switch(判断条件){
case 1;
return;
...
}
4.数组
定义一个的数组:
// 动态初始化
数据类型[] 数组名称 = new 数据类型 {初始化数据}
// 静态初始化
数据类型[] 数组名称 = { 初始化数据 };
代码示例:
int[] arr = new int{1, 2, 3};
int[] arr = {1, 2, 3};
数组排序
1.冒泡排序
使用重复比较,需要对数组中的邻近元素进行比较,这个过程中将小值移到一端,大值移动到另一端
2.选择排序
选择由小到大排序思路:从当前的数中选择最小(最大)的交换到前面,第2轮从剩余的元素元素选择最小的交换到1位置,第3轮从剩余的元素元素选择最小的交换到2位置,第4轮从剩余的元素元素选择最小的交换到3位置,第5轮从剩余的元素元素选择最小的交换到4位置
3.二分查找
二分查找的前提是数组已经由小到大排序.二分查找思路是始终与中间的元素比较大小,如果要查找的元素小于中间数,查找范围缩小到左一半;如果要查找的元素比中间的元素大,把查找范围缩小到右一半
访问数组的元素:
通过数组名.length来实现
判断数组元素的值通过访问数组元素下标来得到
数组元素的命名规则:
先定义数组的数据类型,再定义数组的变量名
数组元素的修改:
给数组元素赋值,通过循环遍历数组的下标,比如:a[i] = 1;就可以修改数组元素的值了
5.条件表达式
> < >= <= != ==
逻辑与& 短路与:当两个条件都为true时,则结果为true,否则为false
逻辑或| 当有一个条件为true时,则结果为true,否则为false
逻辑异或^ 当两个条件的结果不一样时,则结果为true,否则为false
逻辑非! 取反
短路或|| 当使用短路或时,并且第一个条件为true时,则结果直接为true
6.返回值类型:continue;break
continue:
表示继续,则为结束本次循环,继续下一次循环;
只能在循环中使用;
break:
表示结束,则结束整个循环,继续执行循环外面的语句;
可以在switch case中使用,也可以在循环中使用;
7.运算符
运算符是告知编译器执行特定数学或逻辑操作的符号
+
-
*
/
% 求余数
++ 自增 可以写为++a,a++
-- 自减 可以写为--a,a--
自增作为前置后置没有任何区别,自减就不一样了
三目运算符
条件语句 ? 代码1 : 代码2
8.字符串
String是JAVA中最重要的数据类型之一,字符串对象的值是不能改变的,就是一旦创建字符串对象,组成字符串的字符序列是不可改变的,这一限制使JAVA可以更有效的实现字符串,String引用变量可以改变它们引用的对象,创建对象后,不可改变的只是特定的String对象的内容