今日重点:
目录
一、Java的数据类型--引用型数据类型
引用型数据类型包括class类、数组、枚举、注解等,引用型数据类型还是用户自定义用来限制其他数据的类型。基本数据类型有8种,引用数据类型有多少种?除了基本数据类型,其他都是引用数据类型。
1、String--引用字符串
Java中的字符串只能用双引号,String没有范围,双引号可以随便写。
public class y1 {
public static void main(String[] args) {
String v1 = "张三";
System.out.println("早上好," + v1 +",吃饭了吗?");
}
}
2、引用数据类型的使用:
(1)、导入包--指明要使用类型的位置
import 包名.类名;------定义在类的上面
包的命名规则:
1、尽量使用全小写字母
2、尽量不要出现_&123
3、一般情况下,使用站点名的逆序www.baidu.com
包名com.baidu.模块名
包名com.baidu.架构名
根据实际情况com.baidu.模块.架构.功能.xxxx4、文件夹的嵌套关系:一个“.”代表一级
5、 创建类的同时创建一个包:(快捷操作)--com.jajr.yy1(yy1为类名)
(2)、工具 :Scanner
1、导入
import java.util.Scanner;(表示引入的Scanner)
2、创建Scanner类型的引用
Scanner sc = new Scanner(System.in);(sc是自己设定的类名)
3、使用功能(输入需要引用相关数据类型)
引用.nextInt() **** 接收用户键盘输入int类型的内容 int n =sc.Scanner(System.in);(自己设置一个整数型变量n用来接收用户输入的整数型类型数据)
引用.nextByte()
引用.nextShort()
引用.nextLong()
引用.nextDouble()
引用.nextFloat()--从有效字符开始接受,遇到enter建结束功能
引用.next()-- 接收用户键盘输入String类型的内容(当你输入文字时,从有效字符开始接收,遇到空格等不接受,遇到enter建结束功能)
引用.nextLine() 接收用户键盘输入一整行的String类型的内容,遇到enter建结束功能
注意:不要定义与jdk中类型同名,同包的类。如果在 nextLine上面,存在系列的next工能.,需要处理遗留enter问题。
import java.util.Scanner;
public class y2 {
public static void main(String[] args) {
// Scanner 工具
// 构建一个工具,键盘输入
Scanner in = new Scanner(System.in);
// 开始输入
String s =in.next();
System.out.println("你输入了,"+ s);
}
}
3、流程控制
(if..else (与js无区别)
swith..case (与js稍微有区别) )(1)多重if语句
if(条件表达式){ } if(条件表达式){ } if(条件表达式){ }
每个if之间没有联系,这些if有可能都执行
(2)if ..else if
if(条件表达式){ }else if(条件表达式){ }
else有互斥的功能,一套结构中就至多走一次。我们在写if... else if的时候,如果情况比较多(条件判断比较复杂),最后一种情况不建议直接写else,最后面必须有200%的把握,可以写else,否则还是写else if。要注意条件的顺序(把范围小的写上面,范围大的写下面)
(3)switch..case格式
switch(){ case "": break; case "": break; case "": break; case "": }
(4)Java中的switch..case只能判断如下类型
整型: byte short int
字符型: char
字符串: string 一JDK7以后的版本,包括7
枚举:要求JDK5以后的版本,包括5●switch..case结构清晰,不要强行用switch
break的作用表示此程序结束
default的位置是灵活的,别乱放(5)for循环
初始化条件(跟js有区别) ·判断条件 ·循环体 ·循环条件
for(条件表达式){ 代码区 }
初始化条件可以是任意类型,只不过大部分情况我们使用的是int
循环的执行流程
- i = 0,外层的for循环启动
- 执行外层的for循环的循坏体
- 走里层的for循环
- 里层的for循环想要走完 j = 0一直到j = 4,打印了五次“*”
- 里层的for循环走完之后相当于外层循环的循环体执行完毕
- 也就是i = 0的这次外层循环执行完毕,开始执行i ++
- 执行完i ++,i = 1,外层的循环再次启动
break和continue
break:跳出()终止循环
continue:继续循环
break和continue只能控制离他们最近的循环
要想跳出for循环,在for前加一个标签,然后break那个标签
public class Test2 { public static void main(String[] args) { a: for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { System.out.println("j="+j); if (j==3){ break a; } } System.out.println("i"+i); } } }
foreach——增强for循环
使用for循环遍历数组
·遍历:把数组中的元素都操作一遍(访问一遍)
·把数组中的元素通过“:”镜像给i,我们操作的不是原始数据,是镜像数据
·foreach的操作更加的安全,不影响原始数据,foreach是JDK5以后才有的
(6)while循环和do while循环
(7) while循环和do while循环的区别
do...while循环无论条件是否满足,循环至少执行一次
While循环如果条件不满足,一次都不执行
4、引用数据类型—数组
(1)创建数组
数组有一个致命的缺陷,一旦声明必须指定长度
创建数组的三种方式:(优先用后两种方式)
注意:
①“[ ]” Java中只能出现在等号的左边,在JS中可以出现在等号的右边,除非在声明数组长度时,才能在等号右侧看见“[ ]”,并且等号右边的“ [ ]”里必须有数字。
②访问数组元素还是通过下标(索引),下标(索引)从0开始。
(2)二维数组
二维数组的长度是一维数组的个数,二维数组以上都叫多维数组,有几个中括号就是几维数组,在开发中最多用到二维数组。
int [] [] a = new int [] [];
二维数组的遍历
public class Test2 { public static void main(String[] args) { for(int[]ints:arr){ for (int anInt : ints) { System. out . print(anInt +","); } System. out. println() ; } } }