小白进阶第三天

1、控制台输入

   Scanner sc= new Scanner(System.in);
   System.out.println("请输入三个int型的数:"); 
   int num1 = sc.nextInt(); 
   int num2 = sc.nextInt(); 
   int num3 = sc.nextInt(); 
   int r = num1 > num2 ? num1:num2;
   r = r > num3 ? r: num3;
   System.out.println(r);

2、语句种类

(1)赋值语句:x=9;
(2) 方法调用语句: SyStem.out.print(“hello”);
Math.max(10,11);
(3)import 和 package 语句
import:
作用:导入类
格式:inport java.util.*; import java.util.Scanner;
位置:class上面,package下面
数量:多个

package:
作用:管理类
格式:package cn.tedu.demo;
位置:第一条有效语句
数量:至多一条

(4) 判断语句: if,switch
if语句:
if(boolean){}

if(boolean){} else{}

if(boolean){}
if(boolean){}……

if(boolean){}
else if(boolean){}
……
else{}

switch语句:
switch(){} (byte,short,int,char,String,Enum枚举 固定范围内的值)
case n:(n与括号中的数据类型匹配)
语句;
break(可有可无,如果有break就跳出语句体,如果没有break继续向下执行,与n无关)
……
default:
语句;
(5) 循环语句:for,while,do-while
for语句:
for(表达式1;表达式2;表达式3){
语句体;
}

循环原理:
表达式1完成初始化,表达式2判断条件,如果为true,执行语句体;
表达式3(自增自减)步长表达式;执行表达式2,直到判断条件为false,跳出循环体

例如:

 int sum=0;
 for (int i=1;i<=10;i++){
       sum+=i;
	 }
System.out.println(sum);

while语句:
while(boolean){
循环体;
}

   int sum=0;
     int i=1;
     while(i<10){
           sum+=i;
           i++       
      }

do-while语句:
do{
循环体;
}while(boolean);

int sum=0;
int i=1;
do{
   sum+=i;
   i++;
}while(i<10);

嵌套循环:
for(int i=1;i<=10;i++){
while(){
for(){}
}
}

例如:

for(int i=1;i<=10;i++){
    for(int i=1;j<=5;j++) {
      System.out.print("hello");  
   }
 }

嵌套循环原理:
外层执行一次,内层执行全部
内层循环的是行,外层循环的是列
例如:
横六纵五:

public static void test1() {
  for(int i = 0;i<=5;i++) {
   for(int j=1;j<=6;j++) {
    System.out.print("*");
   }
   System.out.println();
  }
 }	

依次递增:

public static void test2() {
  for(int i=0;i<=5;i++) {
   for(int j=1;j<=i;j++) {
    System.out.print("*");
   }
   System.out.println();
  }
 }

九九乘法表:

 public static void test3() {
  for(int i=1;i<=9;i++) {
   for(int j=1;j<=i;j++) {
    System.out.print(j+"*"+i+"="+i*j+"\t");
   }
   System.out.println();
  }
 }

(6) 跳转语句:break,continue
break:
可以用于switch和循环体中
表示跳出循环体和switch语句体
break语句后的代码永远不能执行
例如:

   void f(){
       int x=5;
       if(x==5){
          break;
          }
       }

continue:
可以用于循环体中
表示结束本次循环,开始新一次循环
语句体的代码永远不能执行
例如:

 for(int i=1;i<=10;i++){
        if(i%2==0){
                 continue;
      System.out.println(“hello”);
        }
      System.out.println(i);
      }

标号语句:

out:for(int i=1;i<=5;i++) {
   for(int j=1;j<=4;j++) {
    if(j==2) {
     //跳出循环
     break out;
    }
    System.out.print(j+"\t");
   }
   System.out.println();
  }

3、经典案例

1、输出2-1000,所有的质数(素数)

public static void test1() {    
  for(int i=2;i<=1000;i++) {
   int flag=0;
   for(int j=2;j<i;j++) {
    if(i%j==0) {
     flag=1;
     break;
    }           
             }
   if(flag!=1) {
             System.out.println(i);
   }
  }   
  }

2、求4的阶乘和4!+3!+2!+1

public static void test2() {
  int sum = 0;
  for(int i=4;i>=1;i--) {
   int r=1;
   for(int j=i;j>=1;j--) {
    r*=j;
   }
   sum+=r;   
  }
  System.out.println("4!+3!+2!+1="+sum);
 }

3、百钱百鸡,3文钱1只公鸡,2文钱一只母鸡,1文钱3只小鸡,一百文钱如何正好买一百只鸡

public static void test3() {
  for(int i=1;i<=33;i++) {
   for(int j=1;j<=50;j++) {
    int x=100-i-j;
    if(x%3==0&&3*i+2*j+x*1/3==100) {
     System.out.println("公鸡:"+i+",母鸡:"+j+"小鸡:"+x);
     
    }
   }
  }
 }

4、控制台输入年和月,输出该年该月有多少天

public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	 System.out.println("请输入一个年份:");
	int year = sc.nextInt();
	  System.out.println("请输入一个月份:");
	  
	  int month = sc.nextInt();
	  if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) {
	   System.out.println(year+"年"+month+"月共有"+"31天");
	  }
	  
	  if(month==4||month==6||month==9||month==11) {
	   System.out.println(year+"年"+month+"月共有"+"30天");
	  }
	  
	  if(month==2) {
	   if((year%4==0&&year%100!=0||year%400==0)) {
	    System.out.println(year+"年"+month+"月共有29天");
	   }else {
	    System.out.println(year+"年"+month+"月共有28天");
	   }
	  }

5、输入一个数字,输出这个数字是几位数

public static void test3() {
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入一个整数:");
  int i = sc.nextInt();
  int sum=1;
  
  while(i>=10) {
   i=i/10;
   sum++;
  }
  System.out.println(sum);
 }

6、输入一个数字,输出这个数字的所有因数

public static void test4(){
  Scanner sc = new Scanner(System.in);
  System.out.println("请输入一个整数:");
  int i=sc.nextInt();
  int j=0;
  do {
   j++;
   if(i%j==0) {
    System.out.println(j);
   }
  }while(i>=j);  
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值