一、JAVA 的语法格式
[修饰符] class 类名{
程序代码
}
说明:
1.每条语句以;结束。
2.严格区分大小写。
3.一个程序可以定义多个类,但只能也必须有一个主类。
二、注释
1.单行注释:// 快捷键ctrl+/
2.多行注释:/* */ 快捷键ctrl+shift+/ ctrl+shift+\ 取消注释
3.文档注释:/** */ 用于为类,属性,方法进行功能注释,在其他地方使用时可以提示出来
三、关键字
关键字就是被赋予了专门的意义,用来修饰包,类,变量,方法,接口等,有专门用途的字符串。
关键字全为小写。
在IDE中,关键字会显示出可以和别的代码的不同的颜色。
四、保留字
保留字就是JAVA 中尚未使用但以后可能会用作关键字的单词,在编写程序中应尽量避免使用,如goto,const。
五、标识符
标识符就是程序中用来标记名称(如包名、类名、方法名、参数名、变量名等)的符号。
说明:
1.标识符由26个大小写英文字母,数字0-9,下划线"_"和美元符号$组成。
2.标识符不允许由数字开头,也不允许有空格。
3.标识符不能使用关键字、保留字。
4.包名全部小写。
5.类名和接口名每个单词的首字母都大写。
6.常量全部大写,若有多个单词,单次间以下划线"_"连接。
7.变量名,方法名第一个单词小写,从第二个单词开始首字母大写。
8.起名时,要尽量做到“见名知意”。
六、JAVA 中的变量
变量是程序中最基本的存储单元,程序执行中数值是可变的。本质上,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明), 然后必须进行赋值(填充内容),才能使用.
变量是通过使用变量名来访问这块区域的
数据类型 [修饰符] 变量名=变量值;
JAVA 中的变量必须先声明再赋值。
七、JAVA 中的数据类型
JAVA是强类型语言,程序中所有的数 据,都需要明确数据类型, 不同的类型存储空间不同,运算规则不同。
整数类型
Java语言的整型常量默认为int型,声明long型常量时后加‘ l ’或‘ L ’ 。
浮点类型
布尔类型适于逻辑运算,一般用于程序流程控制 。JAVA中布尔型变量只能取值true和false,不可 以0或非 0 的整数替代false和true。
字符类型
char型数据表示单个字符,占2个字节,使用时字符需要用单引号括起来。
八、基本数据类型转换
首先布尔类型不可以参与类型转换
默认转换:容量小的数据类型到容量大的数据类型
强制转换:char,short,byte->int->long->float->double
char,short,byte类型再参与运算时会自动转换为int 类型
可能会出现数据溢出,精度降低等问题
多种数据类型参与运算时,会自动将容量小的数据类型转换到容量大的数据类型。
九、运算符
算数运算符: + - * / % ++ --
比较运算符: == != > < >= <=
赋值运算符: += -= *= /= %=
逻辑运算符: & ! | && || ^
条件运算符: (条件表达式)?表达式一:表达式二
位运算符: << >> >>> & | ^
十、运算顺序
十一、控制台输入语句
JAVA中用java.util包中的Scanner类来进行控制台输入
用法:Scanner 对象名=new Scanner(System.in);
int 变量名=sc.nextInt();
String 变量名=sc.next();
char等其他数据类型同理
十二、流程控制语句
1.if(条件){语句块}
2.if(条件){语句块}
else{语句块}
3.if(条件){语句块}
else if(条件){语句块}
else if(条件){语句块}
......
4.switch(item){
case 常量1:语句块
break;
case 常量2:语句块
break;
......
case 常量n:语句块
break;
default:默认语句块
}
item可以是byte,short,int,char,枚举,jdk1.7后还可以是String类型
十三、循环语句
while(条件){语句块}
do{语句块}while(条件)
for(循环初始条件;循环终止条件;变量更新){语句块}
终止循环:break:跳出整个循环
continue:跳出当前循环
标签:在多层循环开始之前定义一个标签,最后在需要终止循环的地方写上"break 标 签"即可。
十四、方法
[访问权限修饰符 修饰符…] [返回值类型] 方法名(形式参数类型 参数名){
Java语句;… … …
十五、数组
1.数组是相同数据元素的集合。
数组本身是引用数据类型,除了引用数据类型外,数组还可以存储基本数据类型。
2.数组的创建
动态创建数组:可以用for循环为数组赋值:
数据类型[] 数组名=new 数据类型[数组长度];
静态创建数组:
数据类型[] 数组名=new 数据类型[] {数组元素};
3.数组的长度
数组名.length
4.数组的输出
需要导入java.util包
eg:System.out.println(arr.toString(数组名));
十六、数组的访问与迭代
1.访问:
数组名 [索引]
数组索引从0开始,索引最大值与数组长度差1
索引的数据类型是整形
数组的内部空间是连续的,所以有时候会出现创建数组失败
2.迭代
(1)for循环
(2)foreach
for(数组元素类型 临时变量名:数组名){
System.out.println(临时变量名);
}
十七、数组的排序
1.冒泡排序
就是将数组从前到后或从后到前两两相比较
for(int i=0;i<array.length;i++){
for(int j=0;j++;j<array.length-1-i;j++){
if(array[j]>array[j+1]){
int temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
2.选择排序
每次选出一个最小或最大的值
for(int i=0;i<array.length;i++){
for(int j=i+1;j++;j<i;j++){
if(array[i]>array[j]){
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
十八、二维数组
二维数组就是数组的数组,它的每一个元素都是一个一维数组。
1.声明
int [] [] 数组名=new int [二维数组长] [二维数组里每个一维数组的长度] (1)
=new int [二维数组长] [] (2)
=new int [] [] { {值},{值},...{值} } (3)
(1)的初始值都为0
(2)值创建了二维数组,一维数组都为null
2.访问
数组名[] [] =
3.遍历
需要用双层for循环
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
程序块
}
}
若有Arrays类的toString()方法,输出的不是元素值而是地址。