Java3
scanner进阶
if (scanner.hasNextInt()){
i = scanner.nextInt();
System.out.println("整数数据:" + i);
}else {
System.out.println("输入的不是整数数据");
}
示例
求平均数
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//和
double sum = 0;
//计算输入多少数字
int m = 0;
//通过循环判断是否还有输入
while(scanner.hasNextDouble()){
double x = scanner.nextDouble();
m = m+1; //m++
sum = sum + x;
System.out.println("你输入了第"+m+"个数,当前结果是"+sum);
}
System.out.println(m+"个数的和为" +sum);
System.out.println(m+"个数的平均数为"+ sum/m);
scanner.close();
}

学会
- 用户交互Scanner
- 顺序结构
- 选择结构
- 循环结构
- break & continue
流程控制
顺序结构(最基础的结构,自上而下)
public class ShunXuDemo
{
public static void main(String[] args) {
System.out.println("hello1");
System.out.println("hello2");
System.out.println("hello3");
System.out.println("hello4");
System.out.println("hello5");
}
}

选择结构
- if单选择结构
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String s = scanner.nextLine();
//判断字符串是否相等
if(s.equals("Hello")){
System.out.println("end");
scanner.close();
}
}

- if双选择结构
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩");
int score = scanner.nextInt();
if (score>60){
System.out.println("及格");
}
else System.out.println("不及格");
scanner.close();
}

- if多选择结构
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int score = scanner.nextInt();
if(score<60){
System.out.println("不及格");
}
else if(score>=60 && score<70){
System.out.println("及格");
}
else if (score>=70 && score<90){
System.out.println("良");
}
else if (score>=90 && score<=100){
System.out.println("优");
}
scanner.close();
}

- 嵌套if结构
if里面再来if
(套娃)
- switch多选择结构(记得加break不然会把后面代码都输出)
public static void main(String[] args) {
//
char grade = 'C';
switch (grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
case 'D':
System.out.println();
break;
default:
System.out.println("未知等级");
}
}

👇单引号和双引号有区别
(双引号用于表示字符串,单引号用于表示字符,它们在使用场景和表示的数据类型上有很大的区别。)
循环结构
-
while循环(easy)
![]()
-
do...while 循环(先执行后判断——>至少执行一次)
public class DoWhileDemo {
public static void main(String[] args) {
int i = 0;
int sum = 0;
do{
sum = sum+i;
i++;
}while(i<=100);
System.out.println(sum);
}
}

- for循环(最有效最灵活的循环结构)
for(i=0;i<100;i++)
println 输出完会自动换行
print 输出完不会换行

感觉Java其实语法和c差不多,幸好以前学过c
增强for循环
public static void main(String[] args) {
int[] number = {10,20,30,40,50};//定义一个数组
for(int i=0;i<5;i++){
System.out.println(number[i]);
}
System.out.println("================");
//遍历数组元素
for (int x:number){
System.out.println(x);
}
}

break && continue
break直接终止循环
public static void main(String[] args) {
int i = 0;
while(i<100){
i++;
System.out.println(i);
if(i==30){
break;
}
}
System.out.println("123");
}

continue是只跳过当前一次循环
public static void main(String[] args) {
int i = 0;
while(i<100){
i++;
if(i%10==0) {
System.out.println();
continue;
}
System.out.println(i);
}
}

Java方法
- 何谓方法
System.out.println
System是类,out是对象,println是方法
感觉相当于c语言里的函数
public static void main(String[] args) {
int num = add(1,2);
System.out.println(num);
}
//加法
public static int add(int a,int b){
return a+b;
}

- 方法定义及调用
Java方法类似其他语言的函数
修饰符 放回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
public static void main(String[] args) {
int max=max(10,20);
System.out.println(max);
}
//比大小
public static int max(int num1,int num2){
int result = 0;
if(num1==num2){
System.out.println("equal");
return 0;//终止方法
}
if(num1>num2){
result = num1;
}
else{
result = num2;
}
return result;
}

- 方法重载(其实就是再重新定义一下不同用法)
public static void main(String[] args) {
int max=max(10,20);
System.out.println(max);
}
//比大小
public static double max(double num1,double num2){
double result = 0;
if(num1==num2){
System.out.println("equal");
return 0;//终止方法
}
if(num1>num2){
result = num1;
}
else{
result = num2;
}
return result;
}
public static int max(int num1,int num2){
int result = 0;
if(num1==num2){
System.out.println("equal");
return 0;//终止方法
}
if(num1>num2){
result = num1;
}
else{
result = num2;
}
return result;
}
int 和 double变量就都可以运行了

-
命令行重载
-
可变参数
-
递归



浙公网安备 33010602011771号