- 一、java约定规范
- 1.关于建包
- 2.控制台输入(Scanner)
- 关于Scanner的bug
- 计算器小练习
- 二、
- 1.数组
- 建立数组的三种方式:
- 数据类型的初始值:
- 2.二维数组
- 使用for循环遍历二维数组:
- 使用增强for循环遍历二维数组
- 三、循环
- 1.for循环
- for循环的嵌套
- goto语法
- 2.foreach语句(增强for循环)
- 增强for循环遍历数组:
- 3.while 和 do..while
- while
- do...while
- while和do...while的区别:
1.尽量使用全小写字母
2.尽量不要出现_&123
3.一般情况下,使用站点名的逆序www.baidu.com
包名:com.baidu.模块名
com.baidu.架构名
根据实际情况com.模块.架构.功能.xxxx
键盘输入:
Scanner scanner = new Scanner(System.in);
方法:
- nextLine() 回车获取整横
- nextInt() 获取整数
- nextXXX() XXX可以是Int,Double等
先用nextInt()接收int类型,再用nextLine()接收字符串的时候,会导致nextLine() 直接把回车接收到了, nextLine 不能继续接收字符串了
先上代码:
public class Ch02 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入:");
int i = in.nextInt();
System.out.println("请输入:");
String next = in.nextLine();
System.out.println(i);
System.out.println("这是nextLine==》"+next);
}
}
输出为:
显然他并没有给我们机会输入nextLine的值,因为nextLine接收的是一行输入,而他还是以回车作为结束,可以这么理解,当输入1按下回车的时候,nextLine也被触发了。
解决办法: 可以新创建一个Scanner对象再调用nextLine方法
// 可以理解为是准备了一个键盘
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Scanner scanner2 = new Scanner(System.in);
index:
for (; ; ) {
System.out.println("请输入一个数字:");
int num1 = scanner.nextInt();
n1:
for (; ; ) {
System.out.println("请输入第2个数字:");
int num2 = scanner.nextInt();
n2:
for (; ; ) {
System.out.println("请输入想要的运算符号:");
String sign = scanner2.nextLine();
switch (sign) {
case "+":
System.out.println(num1 + "+" + num2 + "=" + num1 + num2);
break;
case "-":
System.out.println(num1 + "-" + num2 + "=" + (num1 - num2));
break;
case "*":
System.out.println(num1 + "*" + num2 + "=" + (num1 * num2));
break;
case "/":
if (num2 == 0) {
System.out.println("除数不能为0,请重新输入!");
continue n1;
} else {
System.out.println(num1 + "/" + num2 + "=" + (num1 / num2));
break;
}
default:
System.out.println("符号输入错误!请重新输入");
continue n2;
}
c:
for (; ; ) {
System.out.println("是否继续计算:1、继续 2、退出");
String flag = scanner.next();
// 我让你输入1或者2,你非得输入3,结果就是你去重新选择
switch (flag) {
case "1":
// 继续计算
continue index;
case "2":
// 退出计算
System.out.println("计算器即将关闭,谢谢使用...");
break index;
default:
// 再重新让你选择一次
System.out.println("您输入的有误,请重新选择!!!");
continue c;
}
}
}
}
}
}
二、
1.数组
建立数组的三种方式:
==数组特点:==数组一旦声明,必须指定长度
int []a1 = {1,2,3,4,5};
//int a2[] = {1,2}; 不建议使用
int []a2 = new int[5];
int []a4 = new int[]{1,2,3,4};
数据类型的初始值:
byte、short、int、long:0 float、double:0.0 char:u0000=>' ' boolean:false String:null int[]:null2.二维数组
定义一个二维数组:
int [][] arr = new int[2][];
arr[0] = new int[]{1,2,3,4};
arr[1] = new int[]{-1,-2,-3,-4,-5};
使用for循环遍历二维数组:
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
// 获取二维数组的元素
System.out.print(arr[i][j] + ",");
}
System.out.println();
}
使用增强for循环遍历二维数组
for (int[] ints : arr) {
for (int anInt : ints) {
System.out.print(anInt + "、");
}
System.out.println();
}
三、循环
1.for循环
var i = 10;
System.out.println(i);
for(int i = 0;i < 10;i++){
System.out.println("i=" + i);
}
for循环的嵌套
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
System.out.print("*");
}
System.out.println();
}
- for循环中可以使用break;语句跳出循环
循环的标签:goto语法 goto功能,代码如下:
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;
// continue;
}
}
System.out.println("i=" + i);
}
2.foreach语句(增强for循环)
可以理解为把数组中的元素通过:镜像给i
我们操作的不是原始数据,我们操作的是镜像数据
foreach的操作更加的安全,不影响原始数据
foreach是JDK5以后才有的
int [] arr = new int[]{12,45,76,89,-50};
for (int i : arr) {
// i就是数组中的元素
System.out.println(i);
}
3.while 和 do…while
while
while(判断条件){
循环体 (一条或多条语句)
}
//当判断条件不成立时循环结束
do…while
do{
循环体
}while(判断条件)
do-while循环 不管判断条件是否成立
//都会先执行循环体一次
while和do…while的区别:
do…while循环无论条件是否满足,循环至少执行一次。
while循环如果条件不满足,一次都不执行。



