7、java的选择语句
java中的选择语句用if…else和switch来实现,
import java.util.Scanner;
import java.util.*;
public class pro08 {
public static void main(String[] args) {
int a=-2;
// if
if(a>0){
System.out.println(a+":是正数");
}
// if else
if(a>0){
System.out.println(a+":是正数");
}else if(a<0||a!=0){
System.out.println(a+":是负数");
}
// if ...else if ...else
if(a>0){
System.out.println(a+":是正数");
}else if(a<0){
System.out.println(a+":是负数");
}else{
System.out.println("这个数为:"+a);
}
// switch选择语句 不仅仅支持判断int还是支持判断string'类型
// switch语句在使用的时候,每一个case后面写完都必须写一个break的结束语句,在最后的default的
//default相当于if-else的else。efault结构是可选的。位置灵活,可放在末尾,可放在开头,也可放在几个case中间。
//先看case,再看default,看完default再往下走。不想往下走加上break。
//使用官方提供得scanner从控制台获取到一个数据
// Scanner 对象名字(在自己使用时候自己取任意的) =new Scanner(System.in);
System.out.println("请输入一个数字:");
Scanner s =new Scanner(System.in);
int b = s.nextInt();
switch(b){
case 1:{
System.out.println("输入的数为:1");
break;
}
case 2:{
System.out.println("输入的数为:2");
break;
}
default:{
if (b!=1||b!=2){
int x=b;
System.out.println("输入的数为"+x);
}
}
}
}
}
switch使用注意事项:
表达式类型只能是byte、short、int、char、jdk5开始支持枚举,jdk7开始支持Stirng、
写的过程中记得结束(break),否则出现穿透现象。
switch穿透性解决什么问题
存在case语句功能代码相同时候,可以用穿透性把流程集中在一起,可以简化代码
8、循环语句
8.1 增强for循环
/*for each 的语句格式:
for(元素类型t 元素变量x : 遍历对象obj)
{
引用了x的java语句;
} */
eg:for(int a :news2){
system.out.print(a);
}
public class pro10 {
public static void main(String[] args) {
//输出1-10;
//while循环语句 先判断,后执行
int i=1;
int j=1;
while(i<11){
System.out.print(i+" ");
i++;
}
System.out.println("---------------");
/* do....whille语句;
* 先输出在判断*/
do{
System.out.print(j+" ");
j++;
}while(j<16);
//for循环加for循环嵌套
for(int a=0;a<=5;a++){
for(int b=0;b<=5;b++){
System.out.print(" a="+a+" , b="+b);
}
System.out.println();
}
}
}
//水仙花数
public class pro10_shuixianhua {
public static void main(String[] args) {
for(int i=100;i<=999;i++){
int b=i/100; //求出百位数
int s=(i-b*100)/10; // 求出十位数
int g=i-b*100-s*10;//求出个位数
if(i==b*b*b+s*s*s+g*g*g){
System.out.println(i+" ");
}
}
}
}