Java学习_day004:Scanner与分支结构

一、 Scanner

给变量赋值有三种方式:
① int a=5;
②接收用户输入的值;int a=?;(Scanner)
③系统随机生成值;
关于Scanner的语法:
①在package下:import java.util.Scanner;
②在main中:Scanner scan=new Scanner(System.in);
③在第二步下面:System.out.println(“name”);
String name=scan.next();

package day04;
import java.util.Scanner;//1
public class ScannerDemo {

	public static void main(String[] args) {
Scanner scan=new Scanner(System.in);//2
System.out.println("name");
String name=scan.next();//3
System.out.println("age");
int age=scan.nextInt();//3
System.out.println("prince");
double prince=scan.nextDouble();//3

System.out.println("我的名字是"+name+",今年"+age+"岁,早餐消费了"+prince+"元。");
		}
	}	

在这里插入图片描述

二、 分支结构

任何复杂的程序逻辑都可以通过三种结构实现。
顺序结构:从上往下逐行执行,每句必走;
分支结构:有条件的执行某语句,并非每句都走;
循环结构:next day;

1、 if结构*
  •   if结构:一条路
    
  • 语法:

  •   if(boolean){
    
  •   语句块-----基于条件执行的语句
    
  •   }
    
  • 执行过程:

  • 判断boolean的值:
    
  • 若为true,则执行语句块;
    
  • 若为false,则不执行语句块;
    
  • 注意不要在小括号和大括号之间加分号,且大括号不能省去;
    
2、if…else结构*
  • if…else结构:两条路,必走其中之一;
  • 1、语法:
  • if(boolean){
    
  • 语句块1
    
  • }else{
    
  • 语句块2
    
  • }
    
  • 2、执行过程:
  • 判断boolean的值:
    
  • 若为true,则执行语句块1;
    
  • 若为false,则执行语句块2;
    
3、if…else if结构
  •  if...else if结构:多路
    
  • 1、语法:
  •  if(boolean-1){
    
  •  语句块1
    
  • }else if(boolean-2){
    
  •   语句块2
    
  • }else if(boolean-3){.....
    
  •  ...}else{
    
  •  语句块n
    
  •  }
    
  • 2、执行过程:判断boolean-1的值:
  • 若为true,则执行语句块1(over);
    
  • 若为false,则执行判断boolean-2(同上类推直至到else)。
    
  • 3、 所有语句块必走其中一个
4、switch…case结构
  • 好处:效率高、结构清晰
    
  • 坏处:只能整数操做,只能判断相等
    
  • break:跳出switch
    

case后面的数不可以重复;
defualt写哪里都可以;
只支持byte,short,char,int ,String,
能用其解决的问题都能用if、、、else if实现
练习:

package day04;
import java.util.Scanner;//Scanner演示第1步
public class ScannerDemo {

	public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);//Scanner演示第2步
		System.out.println("请输入年龄");//Scanner演示第3步
		int age=scan.nextInt();
		System.out.println(age);
		System.out.println("请输入价格");
		double price=scan.nextDouble();
		System.out.println(age);
		System.out.println(price);
		/*5 import java.util.Scanner;
		 * Scanner scan?=new Scanner(System.in);
		 * System.out.println("请输入年龄");
		 * int age=scan?.nextInt();
		 * System.out.println("请输入价格");
		 * double money=scan?.nextDouble();
		 * System.out.println(age);
		 * System.out.println(money);
		 */
		/*4 import java.util.Scanner;
		 * Scanner scan=new Scanner(System.in);
		 * System.out.println("请输入年龄");
		 * int age=scan.nextInt();
		 * System.out.println("请输入价格");
		 * double money=scan.nextDouble();
		 * System.out.println(age);
		 * System.out.println(money);
		 */
		/*3 import java.util.Scanner;
		 * Scanner scan=new Scanner(System.in);
		 * System.out.println("请输入年龄");
		 * int age=scan.nextInt();
		 * System.out.println("请输入金额");
		 * double money=scan.nextDouble();
		 * System.out.println("age="age);
		 * System.out.println("money="money);
		 */
		/*2 import java.util.Scanner;
		 * Scanner scan=new Scanner(System.in);
		 * System.out.println("请输入岁数");
		 * int age=scan.nextInt();
		 * System.out.println("请输入金额");
		 * double money=scan.nextDouble();
		 * System.out.println(age);
		 * System.out.println(money);
		 */
		/*1 import java.util.Scanner;
		 * Scanner scan=new Scanner(System.in);
		 * System.out.println("请输入年龄");
		 * int age=scan.nextInt();
		 * System.out.println("请输入价格");
		 * double money=scan.nextDouble();
		 * System.out.println(age);
		 * System.out.println(money);
		 */
		double money=600;
		if(money>500){
			money*=0.8;
		}
		System.out.println(money);
		int num=5;
		if(num%2==0){
		    System.out.println(num+"是偶数");
		}
		System.out.println("over");
		/*5 int num=6;
		 * double money=600;
		 * if(num%2==0){
		 *System.out.println(num+"是偶数");
		 *}
		 *if(money>500){
		 *money*=0.8;
		 *{
		 *System.out.println(money);
		 *System.out.println("over");
		 */
		/*4 int num=7;
		 * double price=666;
		 * if(num%2==0){
		 * System.out.println(num+"是偶数");
		 * }
		 * if(price>500){
		 * price*=0.8;
		 * }
		 * System.out.println(price);
		 * System.out.println("over");
		 */
		/*3 int num=8;
		 * double money=789;
		 * if(num%2==0){
		 * System.out.println(num+"是偶数");
		 * }
		 * if(money>500){
		 * money*=0.8;
		 * }
		 * System.out.println(money);
		 * System.out.println("over");
		 */
		/*2 int num=9;
		 * double price=532.2;
		 * if(num%2==0){
		 * System.out.println(num+"是偶数");
		 * }
		 * if(price>500){
		 * price*=0.7;
		 * }
		 * System.out.println(price);
		 * System.out.println("over");
		 */
		/*1 int num=55;
		 * double money=499.8;
		 * if(num%2!=0){
		 * System.out.println(num+"是奇数");
		 * }
		 * if(money>500){
		 * money*=0.8;
		 * }
		 * System.out.println(money);
		 * System.out.println("over");
		 */
		double money=600;
		if(money>500){
			money*=0.8;
		}else{
			money*=0.9;
		}
		System.out.println("消费金额"+money);
		int num=6;
		if(num%2==0){
			System.out.println(num+"是偶数");
		}else{
			System.out.println(num+"是奇数");
		}
		System.out.println("over");
		/*5  int num=7;
		 * double price=782.2;
		 * if(num%2==0){
		 * System.out.println(num+"是偶数");
		 * }else{
		 * System.out.println(num+"是奇数");
		 * }
		 * if(price>500){
		 * price*=0.8;
		 * }else{
		 * price*=0.9
		 * }
		 * System.out.println("消费金额"+price);
		 * System.out.println("over");
		 */
		/*4 int num=55;
		 * double money=777;
		 * if(money>500){
		 * money*=0.8;
		 * }else{
		 * money*=0.9;
		 * }
		 * System.out.println("消费金额"+money);
		 * if(num%2==0){
		 * System.out.println(num+"是偶数");
		 * }else{
		 * System.out.println(num+"是奇数");
		 * }
		 * System.out.println("over");
		 */
		/*3 int a=2;
		 * double b=621;
		 * if(a%2==0){
		 * System.out.println(a+"是偶数");
		 * }else{
		 * System.out.println(a+"是奇数");
		 * }
		 * if(b>500){
		 * b*=0.75;
		 * }else{
		 * b*0.9;
		 * }
		 * System.out.println("消费金额"+b);
		 * System.out.println("over"); 
		 */
		/*2 double $=4546;
		 * int num=6;
		 * if($>600){
		 * $*=0.7;
		 * }else{
		 * $*=0.9;
		 * }
		 * System.out.println("消费金额"+$);
		 * if(num%2!=0){
		 * System.out.println(num+"是奇数");
		 * }else{
		 * System.out.println(num+"是偶数");
		 * }
		 * System.out.println("over");
		 */
		/*1 double money=500.2;
		 * int num=6;
		 * if(money>480){
		 * money*=0.8;
		 * }else{
		 * money*=0.9;
		 * }
		 * System.out.println("消费金额"+money);
		 * if(num%2==0){
		 * System.out.println(num+"是偶数");
		 * }else{
		 * System.out.println(num+"是奇数");
		 * }
		 * System.out.println("over");
		 */
		if(scor<0||scor>100){
			System.out.println("成绩不合法");
		}else if(scor>=90){
			System.out.println("A-优秀");
		}else if(scor>=80){
			System.out.println("B-良好");
		}else if(scor>=60){
			System.out.println("C-中等");
		}else{
			System.out.println("D-不及格");
		}
		//120,98,85,75,64
		/*5 double scor=120;
		 * if(scor>100||scor<0){
		 * System.out.println("成绩不合法");
		 * }else if(scor>=90){
		 * System.out.println("A-优秀");
		 * }else if(scor>=80){
		 * System.out.println("B-良好");
		 * }else if(scor>=60){
		 * System.out.println("C-中等");
		 * }else{
		 * System.out.println("D-不合格");
		 * }
		 */
		/*4 double scor=96;
		 * if(scor>100||scor<0){
		 * System.out.println("成绩不合法");
		 * }else if(scor>=90){
		 * System.out.println("A-优秀");
		 * }else if(scor>=80){
		 * System.out.println("B-良好");
		 * }else if(scor>=60){
		 * System.out.println("C-中等");
		 * }else{
		 * System.out.println("D-不合格");
		 */
		/*3 double scor=86;
		 * if(scor>100||scor<0){
		 * System.out.println("成绩不合法");
		 * }else if(scor>=90){
		 * System.out.println("A-优秀");
		 * }else if(scor>=80){
		 * System.out.println("B-良好");
		 * }else if(scor>=60){
		 * System.out.println("C-中等");
		 * }else{
		 * System.out.println("D-不合格");
		 * }
		 */
		/*2 double scor=67;
		 * if(scor>100||scor<0){
		 * System.out.println("成绩不合法");
		 * }else if(scor>=90){
		 * System.out.println("A-优秀");
		 * }else if(scor>=80){
		 * System.out.println("B-良好");
		 * }else if(scor>=60){
		 * System.out.println("C-中等");
		 * }else{
		 * System.out.println("D-不合格");
		 * }
		 */
		/*1 double scor=58;
		 * if(scor>100||scor<0){
		 * System.out.println("成绩不合法");
		 * }else if(scor>=90){
		 * System.out.println("A-优秀");
		 * }else if(scor>=80){
		 * System.out.println("B-良好");
		 * }else if(scor>=60){
		 * System.out.println("C-中等");
		 * }else{
		 * System.out.println("D-不合格");
		 * }
		 */
		
		Scanner scan=new Scanner(System.in);
		System.out.println("请选择功能:1.显示全部记录 2.查询登录记录 3.修改账户信息 0.退出");
		int command=scan.nextInt();
		
		switch(command){
		case 1:
			System.out.println("此处做显示全部记录操纵");
			break;
		case 2:
			System.out.println("登录");
			break;
		case 3:
			System.out.println("查询");
			break;
		case 0:
			System.out.println("欢迎下次再来");
			break;
		default:
			System.out.println("输入错误");
		}
		if(command==1){
			System.out.println("此处做显示全部记录操纵");
		}else if(command==2){
			System.out.println("登录");
		}else if(command==3){
			System.out.println("查询");
		}else if(command==0){
			System.out.println("欢迎下次再来");
		}else{
			System.out.println("输入错误");
		}
		/*5 System.out.println("请输入")
		 * int command=?;
		 * switch (command){
		 * case 1:
		 * System.out.println("查询");
		 * break;
		 * case 2:
		 * System.out.println("登录");
		 * break;
		 * case 3:
		 * System.out.println("注册");
		 * break;
		 * case 0:
		 * System.out.println("退出");
		 * break;
		 * default:
		 * System.out.println("错误");
		 * }
		 * if(command==1){
		 * System.out.println("查询");
		 * }else if(command==2){
		 * System.out.println("登录");
		 * }else if(command==3){
		 * System.out.println("注册");
		 * }else if(command==0){
		 * System.out.println("退出");
		 * }else{
		 * System.out.println("错误");
		 * }
		 */
		/*4 switch (command){
		 * case 1:
		 * System.out.println("记录");
		 * break;
		 * case 2:
		 * System.out.println("登录");
		 * break;
		 * case 3:
		 * System.out.println("注册");
		 * break;
		 * case 0:
		 * System.out.println("退出");
		 * break;
		 * default;
		 * System.out.println("错误");
		 * }
		 * if(command==1){
		 * System.out.println("显示");
		 * }else if(command==2){
		 * System.out.println("登录");
		 * }else if(command==3){
		 * System.out.println("注册");
		 * }else if(command==0){
		 * System.out.println("退出");
		 * }else{
		 * System.out.println("错误");
		 * }
		 */
		/*3 switch (command){
		 * case 1:
		 * System.out.println("上");
		 * break;
		 * case 2:
		 * System.out.println("下");
		 * break;
		 * case 3:
		 * System.out.println("跳");
		 * break;
		 * case 0:
		 * System.out.println("退出");
		 * break;
		 * default;
		 * System.out.println("错误");
		 * }
		 * if(command==1){
		 * System.out.println("上");
		 * }else if(command==2){
		 * System.out.println("下");
		 * }else if(command==3){
		 * System.out.println("跳");
		 * }else if(command==0){
		 * System.out.println("退出");
		 * }else{
		 * System.out.println("错误");
		 * }
		 */
		 /*2 switch (command){
		 * case 1:
		 * System.out.println("←");
		 * break;
		 * case 2:
		 * System.out.println("↑");
		 * break;
		 * case 3:
		 * System.out.println("↓");
		 * break;
		 * case 0:
		 * System.out.println(" ");
		 * break;
		 * default;
		 * System.out.println("错误");
		 * }
		 * if(command==1){
		 * System.out.println("←");
		 * }else if(command==2){
		 * System.out.println("↑");
		 * }else if(command==3){
		 * System.out.println("↓");
		 * }else if(command==0){
		 * System.out.println(" ");
		 * }else{
		 * System.out.println("错误");
		 * }
		 */
		/*1 switch (command){
		 * case 1:
		 * System.out.println("%");
		 * break;
		 * case 2:
		 * System.out.println("¥");
		 * break;
		 * case 3:
		 * System.out.println("#");
		 * break;
		 * case 0:
		 * System.out.println("@");
		 * break;
		 * default;
		 * System.out.println("!");
		 * }
		 * if(command==1){
		 * System.out.println("%");
		 * }else if(command==2){
		 * System.out.println("¥");
		 * }else if(command==3){
		 * System.out.println("#");
		 * }else if(command==0){
		 * System.out.println("@");
		 * }else{
		 * System.out.println("!");
		 * }
		 */
		
//两个数的排序
		int a=8,b=55;
		if(a>b){
			int t=a;
			a=b;
			b=t;
		}
		System.out.println(a+","+b);
		
		//交换两个数
		int c=8,d=5;
		int t=c;
		c=d;
		d=t;
		/*
		 * 交换两个数:追尾并绕圈
		 * int t=a;a=b;b=t;
		 */
		/*5 int a=4,b=5,c=6,d=7;
		 * if(a>b){
		 * int t=a;
		 * a=b;
		 * b=t;
		 * }
		 * System.out.println(a+","+b);
		 * int t=c;
		 * c=d;
		 * d=t;
		 */
		/*4 int a=4,b=5,c=6,d=7;
		 * if(a>b){
		 * int t=a;
		 * a=b;
		 * b=t;
		 * }
		 * System.out.println(a+","+b);
		 * int t=c;
		 * c=d;
		 * d=t;
		 */
		/*3 int a=7,b=8;
		 * if(a>b){
		 * int t=a;
		 * a=b;
		 * b=t;
		 * }
		 * System.out.println(a+","+b);
		 * int t=a;
		 * a=b;
		 * b=a;
		 */
		/*2 int a=2,b=1;
		 * if(a>b){
		 * int t=a;
		 * a=b;
		 * b=t;
		 * }
		 * System.out.println(a+","+b);
		 * int t=a;
		 * a=b;
		 * b=t;
		 */
		/*1 int a=6,b=9;
		 * if(a>b){
		 * int t=a;
		 * a=b;
		 * b=t;
		 * }
		 * System.out.println(a+","+b);
		 * int t=b;
		 * b=a;
		 * a=t;
		 */
		int year=2020,month=2,day=0;
		switch(month){
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
			day=31;
			break;
		case 4:
		case 6:
		case 9:
		case 11:
			day=30;
			break;
		case 2:
			if(year%400==0||(year%4==0&&year%100!=0)){
				day=29;
			}else{
				day=28;
			}
			
		}
		System.out.println(year+"年"+month+"月是"+day+"天");		
		/*5 int year=1997,month=4,day=0;
		 * switch(month){
		 * case 1:
		 * case 3:
		 * case 5:
		 * case 7:
		 * case 8:
		 * case 10:
		 * case 12:
		 * day=31;
		 * break;
		 * case 4:
		 * case 6:
		 * case 9:
		 * case 11:
		 * day=30;
		 * break;
		 * case 2:
		 * if(year%400||(year%4==0&&year%100!=0)){
		 * day=29;
		 * }else{
		 * day=28;
		 * }
		 * }
		 * System.out.println(year+"年"+month+"月是"+day+"天");
		 */
		/*4 int day=0,month=4,year=1998;
		 * switch(month){
		 * case 1:
		 * case 3:
		 * case 5:
		 * case 7:
		 * case 8:
		 * case 10:
		 * case 12:
		 * day=31;
		 * break;
		 * case 4:
		 * case 6:
		 * case 9:
		 * case 11:
		 * day=30;
		 * break;
		 * case 2:
		 * if(year%400==0||year%4==0&&year%100!=0){
		 * day=29;
		 * }else{
		 * day=28;
		 * }
		 * }
		 * System.out.println(year+"年"+month+"月是"+day+"天");
		 */
		/*3 int year=2015,month=5,day=1;
		 * switch(month){
		 * case 1:
		 * case 3:
		 * case 5:
		 * case 7:
		 * case 8:
		 * case 10:
		 * case 12:
		 * day=31;
		 * break;
		 * case 4:
		 * case 6:
		 * case 9:
		 * case 11:
		 * day=30;
		 * break;
		 * case 2:
		 * if(year%400==0||year%4==0&&year%100!=0){
		 * day=29;
		 * }else{
		 * day=28;
		 * }
		 * }
		 * System.out.println?(year+"年"+month+"月是"+day+"天");
		 */
		/*2 int year=2008,month=12,day=0;
		 * switch(month){
		 * case 1:
		 * case 3:
		 * case 5:
		 * case 7:
		 * case 8:
		 * case 10:
		 * case 12:
		 * day=31;
		 * break;
		 * case 4:
		 * case 6:
		 * case 9:
		 * case 11:
		 * day=30;
		 * break;
		 * case 2:
		 * if(year%4==0&&year%100!=0||year%400==0){
		 * day=29;
		 * }else{
		 * day=28;
		 * }
		 * }
		 * System.out.println(year+"年"+month+"月是"+day+"天");
		 */
		/*1 int year=2028,month=5,day=8;
		 * switch(month){
		 * case 1:
		 * case 3:
		 * case 5:
		 * case 7:
		 * case 8:
		 * case 10:
		 * case 12:
		 * day=31;
		 * break;
		 * case 4:
		 * case 6:
		 * case 9:
		 * case 11:
		 * day=30;
		 * case 2"
		 * if(year%400==0||year%4==0&&year%100!=0){
		 * day=29;
		 * }else{
		 * day=28;
		 * }
		 * }
		 * System.out.println(year+"年"+month+"月是"+day+"天");
		 */
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值