1.Java语言主要用于互联网程序的开发领域。
1、开发桌面应用程序如:QQ、微信
2、开发internet应用程序:如:淘宝、天猫
2.入门程序
1、方法是我们学习java语言中学习的第一个方法,称为主方法,main方法是程序的入口点或起始点,每个java程序中有且只有一个main方法并不可被更改,类型必须是 public static void
2、添加注释
2.1、java中有单行注释和多行注释
单行注释以 // 开头换行结束
多行注释以 结束
3、关键字
3.1、 是指在java 中已经定义好的单词
如在程序HelloWorld中 ,关键字有 public class static void 全部都是小写
4、标识符
是指在程序中我们自己定义的内容 ,如类名 ,方法名,变量名等
4.1、命名规则
标识符可以包括英文字明,数字,$(美元符号),_(下划线)
标识符不能用数字开头并且不能用关键字
4.2、命名规范
类名规范:首字母大写,后面每个单词首字母大写
方法名规范:首字母小写,后面每个单词首字母大写
变量名规范:全部小写
3.常量
1、常量是在java程序中固定不变的数据,赋值后不可被改变
2、常量的分类
整数常量:所有的整数 如:1 2 5等
小数常量:所有小数 如: 1.3 2.1等
字符常量:用单引号引起来的单个字符,引号中必须是单个字符,并且不能没有字符如: 'a' '1' '你'等等
布尔常量:只有两个值 true/false
字符串常量:用双引号引起来的内容,可以多个字符,也可以没有字符如:" ads" "你好" "23"等
空常量:null(引用数据类型)
3、java中使用final关键字来定义一个常量
常量分为静态常量、成员常量、局部常量
final关键字不仅可以用来修饰基本数据类型的常量,还可以修饰对象的引用或方法
4.变量
1、常量是固定不变的数据,那么在程序中可以变化的量叫变量
2、Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型
3、变量的定义格式包括三个要素:数据类型、变量名、数据值
5.数据类型
1、数据类型包括基本数据类型和引用数据类型
1.1、基本数据类型包括:
整数、浮点数、字符、布尔
1.2、引用数据类型包括:
类、数组、接口
2、类型转换
八种数据类型当中除布尔类型之外剩下的7种类型之间都可以互相转换
2.1、自动类型转换
小容量向大容量转换
容量从小到大排序:
byte 2.2、强制类型转换 大容量向小容量转换,需要加强制类型转换符,但在运行中可能会损失精度,谨慎使用 2.3、当整数面值没有超过byte,short,char的取值范围时,可以直接赋值给byte ,short,char 2.4、byte,short,char混合运算,先转换为int类型在运算 2.5、多种数据类型混合运算,先转换成容量最大的那种类型在做运算 6.运算符 1、算数运算符:+ , - , * , / , % , ++ , -- 2、赋值运算符:= , += ,-= , *= , /= ,%= 3、比较运算符:== ,< , > , <= , >= , != 4、逻辑运算符:&&(短路与) , ||(短路或) , !(取反) 5、三元运算符: 数据类型 变量名 = 布尔类型表达式?结果1:结果2 如比较三个最大数: 7.控制语句 1、java控制语句一般用if 和switch控制语句 2、if语句一般分为: 单分支语句:if 双分支语句: if...else 多分支语句:if...else if...else if...else 例题:输入一个年份,判断是否为闰年(1.能被4整除,但不能被100整除,2.能被400整除) 3、switch语句作为判断的表达式必须符合byte、short、int、char,不能使用double、long、boolean也不能使用字符串 4、case具有穿透性: 在switch语句中,如果case的后面不写break;则会出现穿透现象,不会判断case的值,直接向后运行 5、带标签的continue和break: 例题:使用switch把小写类型的char型转为大写,只转换a,b,c,d,e 其他的输出“other” 8.循环语句 1、for循环: for(初始化表达式;循环条件;操作表达式){ 执行语句 } 2、while循环: while(循环条件){ 执行语句 } do{ 执行语句 }while(循环条件); //do...while循环中会无条件运行一次 3、for和while的区别: for循环结束后,就不能在被访问了,而while循环结束还可以继续使用,for循环结束后,变量就从内存中消失了,能够提高内存使用效率 在已知循环次数的时候使用for未知时使用while 4、跳出语句 break 使用场景:终止switch或者死循环 continue 使用场景:结束本次循环,继续下一次循环 5、死循环 循环一直运行如:while(true){} for(;;){} 6、嵌套循环: for(初始化表达式;循环条件;操作表达式){ for(初始化表达式;循环条件;操作表达式){ 执行语句 } } 例题:冒泡排序 9.方法 1、方法就是把一个功能抽取出来,放在大括号内,形成一个单独的功能 2.方法的定义 修饰符 返回值类型 方法名(参数列表){ 代码 return; } 当返回值类型为void时,return可以不写 3、方法定义的两个明确 明确返回值类型: 如当计算的是整数求和时,返回值类型定义为int型 明确参数列表: 如当计算的是整数求和时,可以确定参数列表有两个int类型变量,有调用者调用方法时传递 4、方法的调用 方法在定义后,被调用才会执行 方法必须定义在一类中main方法外 方法不能定义在另一个方法里 5、调用的三种形式: 5.1、直接调用:直接写方法名调用 5.2、赋值调用:调用方法,在方法面前定义变量,接收方法的返回值 5.3、输出语句调用:在输出语句中调用方法:System.out.println(方法名()); 不能在输出语句中用void类型的方法,因为执行后没有结果,也就打印不出任何内容 6、方法的重载 方法重载:指在一个类中,允许存在一个以上的同名方法,只要它们的参数列表不相同即可,与修饰符返回值类型无关 参数列表:个数不同,数据类型不同,顺序不同 重载方法的调用:JVM通过方法的参数列表,调用不同的方法 10.数组 1、数组的概念:数组就是存储数据长度固定的容器保证多个数据的数据类型要一致 2、数组的定义: 数组存储的数据类型:创建的数组容器可以存储什么数据类型 []:表示数组 数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组 new:关键字,创建数组使用的关键字 数组存储的数据类型:创建的数组容器中可以存储多少元素 [长度]:数组的长度,表示数组容器可以储存多少个元素 数组长度一旦确定,不可更改 举例: 3、数组越界异常 数组的引所超过数组赋值的个数就会抛出ArraryIndexOutOfBoundsException数组抛出异常 4、数组空指针异常 a=null;出现意味着数组a不会在保存数组的内存地址,也不允许在操作数组了,会抛出异常 5、数组遍历 数组遍历就是将数组中每一个元素获取出来,如果数组元素过多可以用到for循环 例如: 6、数组获取最大值元素 实现思路: 定义变量,保存数组0索引以上的元素 遍历数组,获取数组中每一个元素 将遍历到的元素和保存的数组0索引上的值作比较 如果遍历的值大于索引的值,变量记住新的值 7、数组的反转 实现思路: 定义等于数组长度的变量,和变量num 在循环内将a[i]赋值给num; a[i]等于数组尾部元素 num赋值给尾部元素 尾部索引减一 8、数组作为方法参数 数组作为方法参数传递的是数组的内存地址 数组作为返回值,返回的是数组的内存地址 9、方法的参数类型区别 方法的参数为基本类型时,传递的是数据值 方法的参数为引用类型时,传递的是地址值
public static void main(String[] args){
outer:for(int a=101;a<=150;a++){
for(int b=2;b<=a/2;b++){
if(a%b==0){
continue outer;//跳到带标签外部循环
}
}
System.out.println(a);
}
}
int[] a=new int[3];
int[] a=new int[]{1,2,3};
int[] a={1,2,3};



