0003java.util.Scanner、输出语句、分支结构 if else 随机数 switch case选择结构和equals

方法名和变量名一样,从第二个单词开始首字母大写

输入输出语句

public class codeNotes{
public static void main(String[]args){
//1、输入参数
/*
(1)java.util.Scanner:是一个扫描仪的类型,是引用数据类型,首字母是大写
其中java.util是包
(2)input是一个变量名,它代表这个扫描仪
(3)new java.util.Scanner(System.in)是给input赋值的,它是一个新的对象
(4)(System.in)是指定了数据的来源,System.in默认代表键盘输入
(5)整个语句中,唯一可以自己修改的就是input这个变量名
如果你把input修改为其他了,那么下面的代码,凡是input的地方就修改为你自己命名的变量名
*/
/*
//实例
java.util.Scanner input=new java.util.Scanner(System.in);
System.out.print("请输入年龄");//这个语句在输入之前执行
/*
nextInt()是input这个对象的方法,所以Int的I是大写,因为方法名和变量名一样,从第二个单词开始首字母大写
因为它是方法,所以()不能省略
/*
int age=input.nextInt();//从扫描仪中获取一个int的值,赋值给age这个变量
System.out.println("age="+age);

System.out.println("请输入姓名:");
String name=input.next();//因为String输入太常用了,所以方法名字被简化了,没有使用nextString

System.out.println("请输入体重");
double weight=input.nextDouble();

System.out.println("请输入你是否漂亮");
boolean beautiful=input.nextBoolean();

System.out.println("请输入性别:");
char gender=input.next().charAt(0);//因为输入单个char太少用了,Scanner中没有提供输入单个char的方法,那么我们只能变通,先按字符串接收,然后取第一个字符
System.out.println("姓名"+name);
System.out.println("年龄"+age);
System.out.println("体重"+weight);
System.out.println("性别"+gender);
System.out.println("是否漂亮"+beautiful);
*/
//2、分支结构
/*
二、分支结构
1、条件判断:if..else
2、选择结构:switch...case

(一)条件判断
1、单分支条件判断
语法格式:
if(条件表达式){
当该条件表达式成立时,需要执行的语句
}
说明:
(1)if()中表达式必须是boolean类型的结果
①本身就是boolean类型的值
②比较表达式
③逻辑表达式
(2)当{}中的语句只有一句时,可以省略{}
但是我们不建议省略{}

提醒:
学习流程控制语句结构:
(1)语法格式
(2)执行特点
//1、单分支例子,判断2月份有多少条
*/
/*
java.util.Scanner input=new java.util.Scanner(System.in);//准备Scanner扫描仪对象
System.out.println("请输入年份");
int year=input.nextInt();
int days=28;//平年,如果是闰年,days 修改为29
if(year%4==0&&year%100!=0||year%400==0){
days=29;
}
System.out.println(year+"年,2月份的天数是"+days);
*/
/*
二、分支结构
1、条件判断:if..else
2、选择结构:switch...case

(一)条件判断
1、单分支条件判断
2、双分支条件判断
if(条件表达式){
当条件表达式成立时,要执行的语句块;
}else{
当条件表达式不成立时,要执行的语句块;
}

说明:
(1)条件表达式必须是boolean值
(2)当{}中的语句只有一句时,可以省略{}
不建议省略{}
*/
/*实例:判断一个数是否是偶数 if else*/
/*
java.util.Scanner input=new java.util.Scanner(System.in);
System.out.println("请输入一个数");
int num=input.nextInt();
if(num%2==0){
System.out.println(num+"是偶数");
}
else{
System.out.println(num+"是奇数");
}
*/
//多条件判断 if -- else if---else if
/*
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.print("请输入成绩:");
int score = input.nextInt();
if(score == 100){
System.out.println("满分");
}else if(score>=90 && score<=99){
System.out.println("优秀");
}else if(score>=70 && score<=89){
System.out.println("良好");
}else if(score>=60 && score<=69){
System.out.println("及格");
}else{
System.out.println("不及格");
}
*/
//3、多条件嵌套
/*
语法格式:
在if(){
出现了条件判断
}
或在else{
出现了条件判断
}

当嵌套时,里面的条件判断要被执行的前提,外面的if或else要先满足。
if(score>=0 && score<=100){
//再去判断是哪个等级的
if(score == 100){
System.out.println("满分");
}else if(score>=90 && score<=99){
System.out.println("优秀");
}else if(score>=70 && score<=89){
System.out.println("良好");
}else if(score>=60 && score<=69){
System.out.println("及格");
}else{
System.out.println("不及格");
}
}else{
System.out.println("成绩输入有误,成绩范围:[0,100]");
}
*/
//4、随机数
//我们随便产生一个随机数1
//System.out.println(Math.random());//我们发现它总是在0和1直接徘徊
//double rand=Math.random();
//rand=rand*10;//(0-10之间)
//rand=rand*10+1;//(1-11之间,但是这个时候是有小数的,如果我们不想它有小数怎么做呢)
//int m=(int)rand;
//System.out.println(m);
//改成一句话
System.out.println((int)(Math.random()*10+1));

//--------------------------------------------------------------

//5、选择结构
//switch case
/*
语法结构:
switch(表达式){
case 常量值1:
语句块1;
【break;】
case 常量值2:
语句块2;
【break;】
...
【default:
语句块n+1;
【break;】

要求:
(1)case后面必须是常量值
(2)case后面的常量值不能重复
(3)switch()中的表达式的类型有要求:
允许4种基本数据类型:byte,short,int,char
允许2种引用数据类型:枚举(JDK1.5之后)、String(JDK1.7之后)

执行特点:
(1)入口
①当switch()中的表达式的值与某一个case后面的常量值“相等”,就会从这个case进入
②当switch()中的表达式的值与所有的case后面的常量值都“不相等”,就会寻找default进入
(2)出口
①自然出口:switch的结束}
②中断出口:break (或后面要讲的return等)
(3)一旦找到“入口”就会顺序往下执行,直到遇到“出口”
(4)default的位置不一定在最后,习惯上我们写在最后

实例

//选择结构实例:请输入星期的数字,输出对应的英语单词

 、、//重点注意的地方  == 和 equals到底能不能通用

7、赌数游戏:随机产生3个1-6的整数,
如果三个数相等,那么称为“豹子”,
如果三个数之和大于9,称为“大”,
如果三个数之和小于等于9,称为“小”,
用户从键盘输入押的是“豹子”、“大”、“小”,并判断是否猜对了
*/
//随机产生3个1-6的整数
int a=(int)(Math.random()*6+1);
int b=(int)(Math.random()*6+1);
int c=(int)(Math.random()*6+1);
System.out.println("a="+a);
System.out.println("b="+b);
System.out.println("c="+c);
//判断随机产生的数的结果是什么
String result;
if(a==b&&b==c){
result="豹子";
}else if(a+b+c>9){
result="大";
}else{
result="小";
}
//用户从键盘输入押的是“豹子”、“大”还是“小”
java.util.Scanner input=new java.util.Scanner(System.in);
System.out.println("请压宝");
String ya=input.next();
if(result.equals(ya)){
System.out.println("猜对了");
}else{
System.out.println("猜错了");
}


//----------------------------------------------------------
//重点注意的地方 == 和 equals到底能不能通用
//1、随机产生3个1-6的整数
int a = (int)(Math.random()*6 + 1);
int b = (int)(Math.random()*6 + 1);
int c = (int)(Math.random()*6 + 1);

//判断随机产生的数的结果是什么
int result;
if(a == b && b == c){
result = 1;//假设豹子为1
}else if(a + b + c > 9){
result = 2;//假设大为2
}else{
result = 3;//假设小为3
}

//3、用户从键盘输入押的是“豹子”、“大”、“小”
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.println("1、豹子");
System.out.println("2、大");
System.out.println("3、小");
System.out.print("请选择:");
int ya = input.nextInt();

//4、判断用户的输入是否猜对了
//比较ya与result是否相同
if(result==ya){
System.out.println("猜对了");
}else{
System.out.println("猜错了");
}

System.out.println("三个数是:" + a + "," + b + "," + c);
总结,不能 equals可以判断对象是否相等和引用类型是否相等 ==貌似只能判断值类型的数据是否相等


}
}

原文地址:https://www.cnblogs.com/liliang07/p/13200519.html