一、引用数据类型
1.java的字符串只能用双引,没有范围
String v1 = "张三";
2.拼接字符串
System.out.println("早上好:" + v1 + ",吃饭了吗?");
除了基本数据类型,都是引用数据类型
包的命名规则: 1、尽量使用全小写字母 2、尽量不要出现_&123 3、一般情况下,使用站点名的逆序www.baidu.com 包名com.baidu.模块名 包名com.baidu.架构名 根据实际情况com.baidu.模块.架构.功能.xxxx
二、键盘输入工具
Scanner in = new Scanner(System.in);
// 开始输入
String s = in.next();
System.out.println("你输入了:" + s);
三、流程控制
if(条件表达式){
要执行的语句们
}
1.多重if
每个if之间没有联系,这些if有可能都执行
if(a == 10)
if(b == 20)
if...else if........else...
*else 互斥的功能,一套结构中就至多走一个
2.我们在写if...else if的时候,要注意条件的顺序
int a = 10;
if(a > -1){
xxxxx
}else if(a > 0){
xxxx
}
3.如果情况比较多,条件判断比较复杂,最后一种情况不建议直接写else
最后面必须有百分之200的把握,可以写else
否则,还是写else if
练习:
请输入第一个整数:ppxxxxxxx
请输入第二个整数:
xxxxxxx
需求:
1.如果第一个数是8,并且第二个数是9,就打印两个数的和
2.如果其中有一个是8,有一个9,就打印两个数的差
3.如果两个数中既没有8也没有9,就分别打印两个数
Scanner sc = new Scanner(System.in); System.out.println("请输入第一个数:"); int num1 = sc.nextInt(); System.out.println("请输入第二个数:"); int num2 = sc.nextInt(); if (num1 == 8 && num2 == 9) { System.out.println(num1 + "+" + num2 + "=" + (num1 + num2)); }else if(num1 == 8 || num1 == 9 || num2 == 8 || num2 == 9){ System.out.println(num1 + "-" + num2 + "=" + (num1 - num2)); } else if(num1!=8&&num2!=9&&num1!=9&&num2!=8) { System.out.println("两个数分别为:" + num1 + "," + num2);
switch...case
Java里的switch只能判断如下数据类型 整型:byte,short,int 字符型:char String:JDK7以后的版本包括7 枚举:JDK5以后的版本包括5
练习:
成绩管理系统 键盘输入成绩 如果成绩是60分,及格 如果成绩是85分,奖励你一台ipad 如果成绩是100分,奖励你一台十三香promax 其他情况,没有奖励。Scanner sc = new Scanner(System.in); System.out.println("请输入成绩:"); int score = sc.nextInt(); // String str = "你好"; switch (score) { case 60: System.out.println("及格"); break; case 85: System.out.println("奖励一台ipad"); break; case 100: System.out.println("奖励一台十三香promax"); break; default: System.out.println("没有任何奖励...");
四、数组
数组一旦声明,必须指定长度一维数组 int [] a1 = {1,2,3,4,5};
二维数组 //开发中,最多用到二维 int[][] [] a2 = new int[5][][]; int [] a3 = new int[]{1,2,3,4};
访问数组元素通过下标(索引) 下标、索引从0开始 数据类型的初始值: byte、short、int、long:0 float、double:0.0 char:\u0000=>' ' boolean:false String:null int[]:null当程序抛出异常时,出现异常的位置后面的代码不会执行 数组的长度是属性,不是方法
创建一个数组[3]
通过键盘输入,给数组中的元素赋值。。。
不能用循环
*/
int [] arr = new int [3];
Scanner sc = new Scanner(System.in);
int i = 0;
System.out.println("请输入第一个数:");
arr[i] = sc.nextInt();
i++;
System.out.println("请输入第二个数:");
arr[i] = sc.nextInt();
i++;
System.out.println("请输入第三个数:");
arr[i] = sc.nextInt();
System.out.println("数组的数据为:" + arr[0] + arr[1] + arr[2]);
五、循环
循环
for循环
初始化条件
判断条件
循环体
循环条件
-
var i = 10; System.out.println(i); /* 初始化条件实际上可以是任意类型,只不过大部分情况我们使用的是int */ for(int i = 0;i < 10;i++){ System.out.println("i=" + i); } for(int i = 10;i > 0;i--){ System.out.println("i=" + i);
矩形 ***** ***** ***** ***** * 用循环的嵌套 * 需要用到不换行的打印输出.... */ for (int i = 0; i < 5; i++) { /* 执行流程: 1.i=0 外层的for循环启动 2.执行外层的for循环的循环体 3.走里层的for循环(循环体) 4.里层的for循环想要走完j=0---j=4打印了5次*号 5.里层的for循环走完了之后,相当于外层循环的循环体执行完毕 6.也就是i=0的这次外层循环执行完毕,开始执行i++ 7.i=1 外层的循环再次启动 ..... */ for (int j = 0; j < 5; j++) { System.out.print("*"); } /* debug */ System.out.println(); }
break和continue的区别:
-
break 跳出循环 continue 终止当前次循环,开启下一次循环 break和continue 只能控制理他们最近的循环
练习
-
数7 从0到100 尾数是7或者是7的倍数
for (int i = 1; i < 10; i++) { // 需求 数7 // 从0到100 尾数是7或者是7的倍数 if(i % 7 == 0 || i % 10 == 7){ System.out.println("你数到了:" + i + ",喝酒吧!"); // 跳出循环 break; // 终止当前次循环,开启下一次循环 // continue; } else { System.out.println(i); } System.out.println("哈哈哈!");
foreach语句
-
foreach语句(增强for循环)遍历数组 可以理解为把数组中的元素通过:镜像给i 我们操作的不是原始数据,我们操作的是镜像数据 foreach的操作更加的安全,不影响原始数据 foreach是JDK5以后才有的
while循环
int i = 10;
// while(i < 100){
// System.out.println(i);
// i++;
// }
// do{
// System.out.println(i);
// i++;
// }while(i < 20);
do...while | 循环无论条件是否满足,循环至少执行一次。 |
while | 循环如果条件不满足,一次都不执行。 |
练习
猜数字小游戏
键盘输入一个数字用一个变量存起来
猜一猜输入的是什么?
需要用死循环
*/
/*
请输入一个数字:
20
数字保存成功,请猜猜数字是几
比较大小,如果大了,就提示大了
如果小了,就提示小了
直到猜到这个数!!!
20分钟!!!
用哪种循环都可以。
用哪种判断都可以。
*/
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字:");
int target = sc.nextInt();
System.out.println("猜数字游戏即将开始...");
System.out.println("请你猜猜这个数字是几?");
while(true) {
int number = sc.nextInt();
if(number > target){
System.out.println("你输入的数字大了");
}else if(number < target) {
System.out.println("你输入的数字小了");
} else {
System.out.println("恭喜你,猜对了...");
// break;
// 终止程序执行的方式
// 0:安全退出
// -1:强制退出
System.exit(0);