/*
* 多分支条件语句
* if(判断条件1){
* 代码体…
* }else if(判断条件2){
* 代码体…
* }else if(判断条件3){
* 代码体…
* }else{
* 代码体…
* }
* 如果条件1成立,那么执行条件1的语句,后面的代码不在执行
* 如果条件1不成立,条件2 成立 那么执行条件2的语句,后面的代码不在执行
* 如果条件1,2都不成立,那么执行条件3的语句,后面的代码不在执行
* 如果条件1,2,3都不成立,那么执行else的语句
*/
//用随机数产生年龄
int age = (int)(Math.random()*100);
System.out.println("年龄:"+age);
if(age<=12){
System.out.println("儿童");
}else if(age<=18){
System.out.println("青少年");
}else if(age<=30){
System.out.println("青年");
}else if(age<=50){
System.out.println("壮年");
}else if(age<=70){
System.out.println("中老年");
}else{
System.out.println("老年");
}
/*
* 多分支选择结构
* switch(1){
* case 1:代码体;break;
* case 2:代码体;break;
* case 3:代码体;break;
* case 4:代码体;break;
* ...
* default:代码体;
* }
*
* switch中的表达式和case后面的每一个值做等值比较
* 匹配成功,执行后面的语句,否则,继续和后面的case做等值匹配
* 直到匹配成功,如果case后面的每一项都没有匹配成功,那么执行default后面的语句
*
* 细节:
* 1:switch语句,可以放什么类型的值
* byte,short,int,char
* String jdk1.7之后可以 包括1.7
* enum(枚举) jdk1.5之后可以 包括1.5
* 2:尽量将你认为正确的case选项放在最前面,提高效率
* 3:case后面的值不能重复
* 4:case后面值的类型个switch中的值的类型一致
* 5:default语句可以省略不写,但是最好加上,为了防止前面的所有case都不匹配,default可以做一个友好的提示作用
* 6:break的作用:终止,中断,跳出switch结构
* 7:switch结构只需匹配成功一次,后面的可以依次执行(前提是没有break)
* 8:如果default放在第一行,除非整个switch结构中只有一条default语句,否则default不会执行
*/
/*
* 1:定义初始值
* int i = 1;
* 2:循环的判断范围
* while(i<=10){
* 3 循环体..
* 4:变量更新
* i++;
* }
*
* 注意:循环的变量都可以是哪种类型
*
* 1:整型,浮点型,char
* 注意:循环并没有提高代码的运行效率,只是方便程序员写很少的代码,运行相同的功能
*
*/
public static void main(String[] args) {
/*while(true){
}
*/
//System.out.println("我可以执行吗?");
/*int i=1;
while(i<=10){
System.out.println("hello World");
i++;
}
System.out.println("hello World");
System.out.println("hello World");
System.out.println("hello World");
System.out.println("hello World");
System.out.println("hello World");
System.out.println("hello World");
System.out.println("hello World");
System.out.println("hello World");
System.out.println("hello World");
System.out.println("hello World");
*/
//循环 输出1-10个数字
//1:定义初始值
/* char i = 'A';
//2:循环判断条件 范围
while(i<='Z'){
//3:循环体
System.out.println(i);
//4:变量更新 (迭代更新)
i++;
}
//循环 输出10-1个数字
int j = 10;
while(j>=1){
System.out.println(j);
j--;
}*/
//循环输出1-100的偶数
/* int i = 0;
while(i<=100){
System.out.println(i);
i = i+2;
}*/
//计算1-100的累加和
//1:定义和初始值
/*int i = 1;
int sum = 0; //和
//2 范围
while(i<=100){
//3:循环体
sum = sum+i;
//4:变量更新
i++;
}
System.out.println("1-100的累加和:"+sum);
*/
//计算1-100的偶数和
/*int i = 2;
int sum = 0; //和
//2 范围
while(i<=100){
//3:循环体
sum = sum+i;
//4:变量更新
i = i+2;
}
System.out.println("1-100的偶数和:"+sum);*/
/*
* 初始值
* while(范围){
* 循环体
* 变量更新
* }
*
*
* for(初始值;范围;变量更新){
* 循环体..
* }
*
* for循环的执行步骤
* 1:初始化变量值
* 2:判断条件
* 3:执行循环体
* 4:变量更新
* 判断条件
* 执行循环体
* 变量更新
* 判断条件
* 执行循环体
* 变量更新
* ....
*
*
* 注意:for循环小括号中2个分号不能少
* 注意:如果要在循环的外边使用变量,需要将变量声明在循环的外部
* 注意:可以声明多个变量在循环中,也可以写多个变量更新,但是范围条件只能有一个
*
* 注意:while和for循环的使用场合?
* 1:当你知道循环次数的时候,建议使用for循环
* 当你不知道循环次数的时候,建议使用while循环
* 注意:while循环和for循环,效率一样
*
*
*/
/*
* break和continue的用法
* break:任何循环和switch
* continue:循环
*
* break:强行终止循环语句,后面的循环次数不再执行
* 注意:break的后面不可以跟语句
*
* continue:强行终止本次循环,后面的循环依次执行
* 注意:continue的后面不可以跟语句
*/
public static void main(String[] args) {
//依次输出1-10,当数字等于5的时候,跳出循环
/*for(int i = 1;i<=10;i++){
if(i==5){
break;//终止循环
}
System.out.println(i);
}*/
//依次输出1-10,跳过5
for(int i = 1;i<=10;i++){
if(i==5){
continue;//终止循环
}
System.out.println(i);
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/*
* 判断一个数是否是质数
*
* 质数(prime number)又称素数,有无限个。
* 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
*
* 注意:
* 优化1:加break
* 优化2:质数开根号
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字");
//int prime = sc.nextInt();
long prime = sc.nextLong();
if(prime==2){
System.out.println(prime+"是质数");
return;
}
boolean flag = true;//真
//100000056239
//质数开根号
for(long i = 2;i<=Math.sqrt(prime);i++){
if(prime%i==0){
flag = false;
break;//提高效率
}
}
if(flag){
System.out.println(prime+"是质数");
}else{
System.out.println(prime+"不是质数");
}
}