判断结构
选择结构有if 和switch
if
例如:
import java.util.Scanner;
class xunHuan{
public static void main(String[]args){
String str = "厉害";
Scanner sca = new Scanner(System.in);
System.out.println("请输入年龄:");
int a = sca.nextInt();
String srr = sca.next();
if("厉害".equals(srr)&& a >20){
System.out.println("你真厉害");
}else{
System.out.println("你真菜");
}
// 以上为循环*********************************
// 判断是否为高富帅
Scanner aaa = new Scanner(System.in);
System.out.println("-----------测试是否为高富帅-----------");
System.out.println("请输入你的身高");
int shenGao = aaa.nextInt();
System.out.println("请输入你的存款");
int $ = aaa.nextInt();
System.out.println("你的颜值高吗?");
String yanZhi =aaa.next();
if(shenGao>178){
if($>5000000){
if("高".equals(yanZhi)){
System.out.println("你就是高富帅啊!!!");
}else{
System.out.println("整容去吧!!!!!");
}
}else{
System.out.println("你是穷屌丝啊!哥们");
}
}else{
System.out.println("你不是啊!!!!");
}
//---------------分界线-------上下分别为两种方法
if(shenGao>178&&"高".equals(yanZhi)&&$>500000){
System.out.println("高富帅");
}else if(shenGao<=178&&"高".equals(yanZhi)&&$>500000){
System.out.println("低富帅");
}else if(shenGao>178&&"高".equals(yanZhi)&&$>500000){
System.out.println("高富丑");
}else if(shenGao>178&&"高".equals(yanZhi)&&$<=500000){
System.out.println("高穷帅");
}
// 以上为嵌套循环*******************************
}
}
以上就是for循环的一个例子
这里需要指出的是if后面小括号里 if判断的本来就是true和false,true就执行if语句,false就执行else语句
例如
boolean a=true
if(a){
System.out.println("哈哈");
}else{
System.out.println("嘿嘿");
}
这里就会输出哈哈,如果 a为false 则输出 嘿嘿.
基本数据类型才能用 = = 来比较,上例中String为引用类型,所以用.equals()
boolean a = true;
if(a)
System.out.println("nihao");
System.out.println("ni ni ni ");
上面如果if里只有一行代码时,可以不用{}.
switch
例1:
System.out.println("请输入当前月份,判断为什么季节");
String yue = sca.next();
switch(yue){
case "1" :
System.out.println("现在是冬季");
break;
case "2" :
System.out.println("现在是冬季");
break;
case "3" :
System.out.println("现在是春季");
break;
case "4" :
System.out.println("现在是春季");
break;
case "5" :
System.out.println("现在是春季");
break;
case "6" :
System.out.println("现在是夏季");
break;
case "7" :
System.out.println("现在是夏季");
break;
case "8" :
System.out.println("现在是夏季");
break;
case "9" : case "10" : case "11" :
System.out.println("现在是秋季");
break;
case "12" :
System.out.println("现在是夏冬季");
break;
default :
System.out.println("输入有误");
break;
}
需要指出的是里面的分支也可以根据情况写成这样
case “9” : case “10” : case “11” :
System.out.println(“现在是秋季”);
break;
例2:
public static void main(String[]args){
Scanner sca =new Scanner(System.in);
System.out.println("------------------");
System.out.println("全年节日礼物一览表");
System.out.println("你想知道哪个节日的礼物?请输入:例如(儿童节)");
System.out.println("123\t456\t789\t1234");
System.out.println("123\\456\\789\\");
String jie = sca.next();
String aaa = "没有这个节日啊";
switch(jie){
case "女神节" :
aaa = "口红";
break;
case "情人节" :
aaa = "小黄花";
break;
case "520" :
aaa = "化妆品";
break;
case "521" :
aaa = "零食";
break;
}
int x = 1 ;
int y =5;
System.out.println("你的节日礼物为"+aaa);
}
循环结构
for
for(表达式1;表达式2;表达式3){
表达式4
}
表达式2 可以为Boolean类型 true,但是不能为false ,while也是一样 .但是 do while if 两个Boolean类型都可以
例子1:
for(int x = 1;x<10;x++){
for(int y = 1; y <x+1;y++){
System.out.print(x+"*"+y+"="+x*y+"\t");
}
System.out.println();
}
这就是九九乘法表的for循环
例子2:
for(intx=0;ture;){
System.out.println("你好");
}
这个循环也能被执行,是个无限循环,注意没有写表达式3
遍历输出数组
for(输出的数据类型:输出的变量 需要输出的数组 ){
//由高到低输出
System.out.print(变量);
}
while
例子:
while(num <5){
num ++;
System.out.println("请输入您的账号:");
String zhangHao =sca.next();
System.out.println("请输入您的密码:");
String miMa = sca.next();
//如果正确 则提示正确 跳出循环
if("zhangHao".equals(zhangHao)&&"miMa".equals(miMa)){
System.out.println("密码和账户匹配,欢迎进入");
break;
}else if(!("zhangHao".equals(zhangHao)&&"miMa".equals(miMa))){
System.out.println("账号密码不匹配");
}
if(num>=5){
System.out.println("..................................");
System.out.println("账户已经被冻结");
break;
}
System.out.println("您还有"+(5-num)+"次机会");
}