Java基础总结2
1.if...else分支结构
public class FirstDemo{
//入口方法
/**
选择结构 if
1.单选
语法:if(表达式){
//code;
}
2.双选
语法:if(表达式){
//code1;
}else{
//code2;
}
3.多选
语法:if(表达式1){
//code1;
}[else if(表达式2){
//code2;
}else if(表达式3){
//code3;
}....]
else{
//code;
}
*/
public static void main(String[]args){
//单分支
int a=10;
if(a==10){//条件成立为真 执行花括号里面的内容,否则不执行
System.out.println("Hello Java!");
}
System.out.println("Hello World!");
//双选条件 判断a是奇数还是偶数
if(a%2==0){
System.out.println(a+"是一个偶数");
}else{
System.out.println(a+"是一个奇数");
}
//多选 选择支付方式
int code=10;//微信
if(code==101){
System.out.println("微信支付");
}else if(code==102){
System.out.println("支付宝支付");
}else if(code==103){
System.out.println("银联支付");
}else if(code==104){
System.out.println("零钱支付");
}else{
System.out.println("货到付款");
}
}
}
结果输出:
练习题
import java.util.*;
public class Test1{
//入口方法
public static void main(String[]args){
//初始化键盘录入对象
Scanner input=new Scanner(System.in);
//判断月份是什么季节 有几天
System.out.print("请输入月份:");
int month=input.nextInt();
if(month>=1&&month<=3){
System.out.println(month+"月是春天!");
if(month==2){
System.out.println(month+"月有28天!");
}else{
System.out.println(month+"月有31天!");
}
}else if(month>3&&month<=6){
System.out.println(month+"月是夏天!");
if(month==5){
System.out.println(month+"月有31天!");
}else{
System.out.println(month+"月有30天!");
}
}else if(month>6&&month<=9){
System.out.println(month+"月是秋天!");
if(month==9){
System.out.println(month+"月有30天!");
}else{
System.out.println(month+"月有31天!");
}
}else if(month>9&&month<=12){
System.out.println(month+"月是冬天!");
if(month==11){
System.out.println(month+"月有30天!");
}else{
System.out.println(month+"月有31天!");
}
}else{
System.out.println("输入的指令有误!");
}
//判断成绩的等级
System.out.print("请输入成绩:");
int score=input.nextInt();
if(score>90&&score<=100){
if(score==100){
System.out.println("您已超神!");
}else{
System.out.println("优秀");
}
}else if(score>80){
System.out.println("良好");
}else if(score>70){
System.out.println("中等");
}else if(score>=60){
System.out.println("及格");
}else{
System.out.println("回家种地去吧!");
}
}
}
结果输出:
2.switch...case分支结构
public class SecondDemo{
//入口方法
/**
1.switch语句语法
表达式 支持除long之外的整形
jdk1.5 支持枚举
jdk1.7 支持String
switch(表达式){
case 常量A:
//code1;
break;
case 常量B;
//code2;
break;
...
default:
//code n;
break;
}
switch语句进行判断 其实就是在这里进行 表达式==常量
*/
//判断支付方式 101微信 102支付宝 103银联 104零钱
public static void main(String[]args){
//如果case已经满足条件 case以下的case失去判断能力 直到遇到break结束
int code=101;
switch(code){
case 101:
System.out.println("微信支付");
break;
case 102:
System.out.println("支付宝支付");
break;
case 103:
System.out.println("银联支付");
break;
case 104:
System.out.println("零钱支付");
break;
//default可以放在switch里的任意位置
default:
System.out.println("货到付款");
break;
}
}
}
结果输出:
练习题
import java.util.*;
public class Test2{
//入口方法
public static void main(String[]args){
//1.输入一个月份 判断季节 有几天
//初始化键盘录入对象
Scanner input=new Scanner(System.in);
System.out.print("请输入月份:");
int month=input.nextInt();
switch(month){
case 1:
System.out.println(month+"月是冬天\t有31天");
break;
case 2:
System.out.println(month+"月是冬天\t有28天");
break;
case 3:
System.out.println(month+"月是春天\t有31天");
break;
case 4:
System.out.println(month+"月是春天\t有30天");
break;
case 5:
System.out.println(month+"月是春天\t有31天");
break;
case 6:
System.out.println(month+"月是夏天\t有30天");
break;
case 7:
System.out.println(month+"月是夏天\t有31天");
break;
case 8:
System.out.println(month+"月是夏天\t有31天");
break;
case 9:
System.out.println(month+"月是秋天\t有30天");
break;
case 10:
System.out.println(month+"月是秋天\t有31天");
break;
case 11:
System.out.println(month+"月是秋天\t有30天");
break;
case 12:
System.out.println(month+"月是冬天\t有31天");
break;
default:
System.out.println("请输入正确的月份!");
break;
}
//2.输入成绩 判断等级
System.out.print("请输入成绩:");
int score=input.nextInt();
switch(score/10){
case 10:
System.out.println("超神!");
break;
case 9:
System.out.println("优秀!");
break;
case 8:
System.out.println("良好!");
break;
case 7:
System.out.println("一般!");
break;
case 6:
System.out.println("及格!");
break;
default:
System.out.println("回家种地去吧!");
break;
}
}
}
输出结果:
3.循环结构
public class ThirdDemo{
//入口方法
/**
程序中结构划分:
1.顺序结构
2.选择结构
3.循环结构
什么是循环结构?只要满足条件可以重复执行一段代码
循环结构语法:
while(表达式boolean){//表达式为真 执行循环体 表达式为假 跳出循环
循环体;
}
do{
循环体;
}while(表达式boolean)
无论条件是否满足,都要执行一次循环体
for([表达式1];[表达式2];[表达式3]){
//循环体;
}
表达式1 初始量
表达式2 结束循环的条件
表达式3 增量
*/
public static void main(String[]args){
boolean flag=true;
while(flag){
System.out.println("我要追到某某某");
//改变变量的值
flag=false;
}
//重复输出 我要好好学习 输出10次
//声明一个变量
int index=0;
while(index<10){
System.out.println((index+1)+":我要好好学习");
index++;
}
//求1-100的和 1+2+3+4+....+100;
index=1;
int sum=0;
while(index<=100){
sum=sum+index;
System.out.println("第"+index+"次和为:"+sum);
index++;
}
System.out.println("1+2+3+4+...+100=="+sum);
//do....while循环
do{
System.out.println("大吉大利,今晚吃鸡");
}while(false);
index=0;
do{
System.out.println((index+1)+"大吉大利,今晚吃大盘鸡");
index++;
}while(index<10);
//计算1-100的和
index=1;
sum=0;
do{
sum+=index;
index++;
}while(index<=100);
System.out.println(sum);
//没有任何表达式的循环
/*for(;;){
System.out.println("死循环");
}*/
for(int i=0;i<10;i++){
System.out.println(i);
}
//System.out.println(i); 变量i只能在循环体内使用
for(int i=10;i>0;i--){
System.out.println(i);
}
//1-100的和
}
}
输出结果:
练习题
public class Test{
//入口方法
public static void main(String[]args){
//1.计算1-100奇数和 偶数和
//while循环
int index=1;
int sum1=0;
int sum2=0;
while(index<=100){
if(index%2==0){
sum1+=index;
if(index==100){
System.out.println("偶数sum=="+sum1);
}
}else{
sum2+=index;
if(index==99){
System.out.println("奇数sum=="+sum2);
}
}
index++;
}
//do...while循环
index=1;
sum1=0;
sum2=0;
do{
if(index%2==0){
sum1+=index;
if(index==100){
System.out.println("偶数sum=="+sum1);
}
}else{
sum2+=index;
if(index==99){
System.out.println("奇数sum=="+sum2);
}
}
index++;
}while(index<=100);
//for循环
sum1=0;
sum2=0;
for(index=1;index<=100;index+=2){
sum1+=index;
}
System.out.println("偶数sum1=="+sum1);
for(index=2;index<=100;index+=2){
sum2+=index;
}
System.out.println("偶数sum2=="+sum2);
//2.1+2+3+....+n,当和大于等于1024时n的值是多少?
//while循环
int n=0;
int sum=0;
while(sum<1024){
sum+=n;
n++;
}
System.out.println("1+2+3+...+"+n+"=="+sum+">=1024");
//do...while循环
n=0;
sum=0;
do{
sum+=n;
n++;
}while(sum<1024);
System.out.println("1+2+3+...+"+n+"=="+sum+">=1024");
//for循环
sum=0;
for(n=0;sum<1024;n++){
sum+=n;
}
System.out.println("1+2+3+...+"+n+"=="+sum+">=1024");
//3.一张纸的厚度是0.1cm,对折一次后是0.2cm,珠穆玛朗峰的高度是8844.43m,
//问对折多少次可以达到珠穆玛朗峰的高度?
//while循环
n=0;
int high=1;
while(high<8844430){
high=high*2;
n++;
}
System.out.println("对折"+n+"次可以达到珠穆玛朗峰的高度");
//do...while循环
n=0;
high=1;
do{
high=high*2;
n++;
}while(high<8844430);
System.out.println("对折"+n+"次可以达到珠穆玛朗峰的高度");
//for循环
high=1;
for(n=0;high<8844430;n++){
high*=2;
}
System.out.println("对折"+n+"次可以达到珠穆玛朗峰的高度");
//4.有一只猴子一堆桃子,每天吃桃子总数的一半多一个,到第八天的时候还剩下3个,
//问一共有多少桃子?
/**
day peach
8 3
7 8
6 18
*/
//while循环
int day=1;
int peach=3;
while(day<8){
peach=(peach+1)*2;
day++;
}
System.out.println("一共有"+peach+"个桃子");
//do...while循环
day=1;
peach=3;
do{
peach=(peach+1)*2;
day++;
}while(day<8);
System.out.println("一共有"+peach+"个桃子");
//for循环
peach=3;
for(day=1;day<8;day++){
peach=(peach+1)*2;
}
System.out.println("一共有"+peach+"个桃子");
}
}
结果输出:
4.知识框架