1. Java语言主要由5中符号组成
标识符:数字、字母、美元符、下划线(注意不能数字开头)
关键字:goto和const保留了它们,但是Java没有使用。
注:main不是关键字,但是被虚拟机识别的一个名称
运算符:注意运算符优先级(注意左结合和右结合)
分隔符:注意+号可以分割字符串。
注释:三种注释。
2. 数据类型与变量(八大基本数据类型+三种复合类型)
表1-基本数据类型表
常量:
整型
浮点型
字符:
注意后跟三个八进制(\ddd)和 四位unicode码(\uxxxx)字符表示的特殊形式
字符串
布尔型
新增:null常量
变量:
注意变量的取值范围
强制类型转换(依据的是表示的范围吧)
byte short char int long float double
/*为了避免数据溢出,Java虚拟机将两短整数想加的结果默认为int型
s = i; s = i++; s = i+1; 只有前两者编译器通过,第三种自动升为int不通过
*/
//强转可以取某个实数的整数部分(int a = (int)12.34)
3. 表达式与运算符(一定是执行了特定的操作,返回了一个值)
按操作数分为一元,二元和三元
也有另一种分法:包含算术,关系,逻辑,位,赋值组合等几种运算符.
注意短路 与 非短路 的逻辑.
&& 与 &
|| 与 |
表2-运算符优先级
4. 数据的输入/输出
标准输入输出流
char c = (char)System.in.read();
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
String str = buf.readLine();
//常与Integer.parseInt(String s)搭配
然后使用System.out输出
使用javax.swing.JOptionPane
showInputDialog方法获取字符串
showMessageDialog弹出消息显示对话框.
5. 常用的数学方法
java.lang.Math类的主要方法
int abs(int i)
int ceil(int i1,int i2) 大于等于d的最大整数
double floor(double d) 小于等于d的最大整数
double random() 返回大于等于 0.0 且小于 1.0的 double 值
long round(double d) 最靠近d的长整数
double log(double d)
double exp(double x)
double pow(double a, double b)
double sqrt(double a)
double cos(double d)
/*由于让系统产生随机数使用广泛
0~9的随机数 (int)(Math.random()*10);
0~999的随机数 (int)(Math.random()*1000);
a~b的随机数 (int)(Math.random()*(b-a));
其实Math的random方法用的就是util包中的Random类
因此可以Random.nextDouble()替换Math.random()
*/
6. 流程控制语句
条件选择语句:
if型,if else型,if else嵌套型
//如果条件体只有一句话,大括号可以省略
switch语句
其中expression必须为整型(byte,short,int,long)或char,现新增enum枚举型.
//可以default实现所有case都没捕获到的情况
//case 0: case 1: case 2: { } 实现了多个case对应一种情况.
循环语句:
while,do while,for语句
//break用在循环语句中,也可以用在switch语句中.
//contine只用在循环语句中,作用是结束本次循环,接着继续进行条件判断.
//另外break和contine可以带标号
7. 数组
一维数组:声明数组,创建数组空间,初始化三步.
格式1: 数组元素类型 数组名[] ;
格式2: 数组元素类型[] 数组名 ;
其中,数组元素的类型可以是基本类型,也可以是类或接口。
创建数组元素并初始化
类型 数组名[ ]={ 初值表 }; 例: int arr[] = {1,2,3,4,5,6,7,8,9,10};
其实这相当于int[] arr= new int[]{1,2,3,4,5,6,7,8,9,10};
高级for(元素类型 循环变量名:数组名 ){循环体}
多维数组
1.声明数组
格式1:数组元素类型 数组名[ ][ ];
格式2:数组元素类型[ ][ ] 数组名;
2.创建数组空间
(1)直接为每一维分配空间,如:
int a[][] = new int [2][3];
(2)从最高维开始,按由高到低的顺序分别为每一维分配空间。如:
int a[][] = new int [2][];
a[0] = new int [3];
a[1] = new int [4];
数组名.length( 数组名[行标].length也要看得懂)
获取数组的长度
3.创建数组元素并初始化
int a[][] = {{1,2,3},{4,5,6}};
int b[][] = {{1,2},{4,5,6}};
更为常见的做法是在数组定义后通过循环语句给数组赋值。
int[][] array = {{1,2},{4,5,6}};
//1.高级for循环
for(int[] arr:array){
for(int i:arr){
System.out.print(i+" ");
}
System.out.println();
}
//2.普通for循环
for(int i=0;i<array.length;i++){
for(int j=0;j<array[i].length;j++){
System.out.print(array[i][j]+" ");
}
System.out.println();
}
8. 方法
方法声明
修饰符 1 修饰符2... 返回值类型 方法名(形参表) [ throws 异常列表 ] { }
其中返回值是方法在操作完成后返还调用它的环境的数据,形式有2种:
(1)return 表达式;//方法返回结果为表达式的值;
(2)return; //用于无返回值的方法退出;
参数传递
(1) 基本数据类型的参数传递是以传值的方式进行,即将实际参数的值传递给形参; 在方法内对形参的修改只影响形参单元,不影响实参
(2)引用类型(如对象、数组等)参数传递是按地址进行传递的。在方法内对形参的访问实际是访问所指引用对象
递归:
方法自身调用自己,注意死循环即可.
Java的命令行函数
main方法中有一个字符串数组参数,该数组中存放所有的命令行参数.它在命令行运行的主类名之后,个参数之间用空格分隔.使用命令行参数有利于提高应用程序的通用性.
- - - - -
最近迷上了简书,然后又被stcy辞退了工作,心情也不算太好。 所以不好意思转移阵地了。
如果大家还有浏览欲望,请跳转到我的简书
转载于:https://blog.51cto.com/acc8226/1539135