if条件语句主要用于告知程序当某一个条件成立时,须执行满足该条件的相关语句。if语句 (单一条件)
如果表达式值为true,则执行花括号的内容后,再执行后面的语句
如果表达的值为false,则直接执行后面的语句
格式
if(表达式){
执行语句块
}
if…else语句作用:针对某种条件有选择地做出处理
如果布尔表达式的值为true,则执行语句1如果布尔表达式的值为false,则执行语句2 格式
if(表达式){
执行语句块1
}else{
执行语句块2
}
如果满足某一个条件,就采用与该条件对应的处理方式;如果满足另一个条件,则采用与另一个条件对应的处理方法。
if (表达式1){
执行语句块1
}else if(表达式2){
执行语句块2}
…
else {
执行语句块n
}
格式
if (表达式1){
执行语句块1
}else if(表达式2){
执行语句块2
}…
else {
执行语句块n
}
可以通过控制台得到用户的输入(程序会等待用户输入后再继续执行):
使用控制台输入,需要加入代码
import java.util.Scanner;
new Scanner(System.in).nextInt():得到用户输入的整数new Scanner(System.in).nextDouble():得到用户输入的浮点数
new Scanner(System.in).next():得到用户输入的字符串,空格结束
产生随机数
随机数:在产生过程中是按照分布概率随机产生的,其结果是不可预测的。伪随机数:计算机中的随机函数是按照一定算法模拟产生的,因此称为伪随机数。
使用随机数程序,需要加入代码import java.util.Random;产生随机数代码:new Random().nextInt(正整数);
括号中的数字代表产生随机数的范围
例如:如果数字为10,产生0到9之间的随机整数。
循环语句
-
Java中循环语句:
-
while语句
do…while语句
for语句
foreach语句
循环语句总结
-
for循环更适合使用在循环次数固定的语句中
while和dowhile更适合条件循环
while先判断再执行
dowhile先执行再判断条件
for循环使用最多
while (条件表达式){
执行语句块
}
do{
执行语句块
} while(条件表达式 );
-
关于for循环次数
-
看到
<,推断出次数是
(n-起始数) 次.
<= 在这个基础上 加 1次就好了
for(初始化表达式;循环条件表达式;循环后的操作表达式){
执行语句块
}
靠自身控制无法终止的程序称为“死循环”
while实现while(true){
System.out.println("x="+x);
}
for实现
for(int x=1;;x++){
System.out.println("x="+x);
}
for(;;){
System.out.println(“你好");
}
do…while实现
do{
System.out.println("x="+x);
} while(true);
break中断
break语句用于终止某个语句块的执行。用在循环语句体中,可以强行退出循环。“break;”语句:可以出现在while、do…while、for、语句中。
示例
int sum = 0;
for(;;){
if(sum>=666){
break; //stop
}
sum = sum + 20;
}
System.out.println(“sum的值为:”+sum);
continue中断
continue语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue语句下未执行的循环,开始下一次循环过程continue语句:只能出现在循环语句while、do…while、for中
示例
for(int i=1;i<50;i++) {
if((i%2)==0){
continue; // skip
}
System.out.print(i+" ");
}
练习
1、输入一个成绩a,使用if结构分别输出成绩等级。A:90-100,B:80-89,C:70-79,D:60-69,E:0~59(知识点:条件语句if )
import java.util.Scanner;
public class 练习1 {
// 1、输入一个成绩a,使用if结构分别输出成绩等级。
// A:90-100,B:80-89,C:70-79,D:60-69,E:0~59(知识点:条件语句if )
public static void main(String[] args) {
double a;
Scanner sc = new Scanner(System.in);
a = sc.nextDouble();
if ( a<100&&a>90 ) {
System.out.println("A");
}else if ( a<89&&a>80 ) {
System.out.println("B");
}else if ( a<79&&a>70 ) {
System.out.println("C");
}else if ( a<69&&a>60 ) {
System.out.println("D");
}else if ( a<59&&a>0 ) {
System.out.println("E");
}else {
System.out.println("成绩不合法");
}
}
}
2、判断一个随机整数是否能被5和6同时整除(打印能被5和6整除),或只能被5整除(打印能被5整除),或只能被6整除,(打印能被6整除),不能被5或6整除,(打印不能被5或6整除)(知识点:条件语句)
import java.util.Scanner;
public class 练习2 {
//2、判断一个随机整数是否能被5和6同时整除(打印能被5和6整除),
// 或只能被5整除(打印能被5整除),
// 或只能被6整除,(打印能被6整除),
// 不能被5或6整除,(打印不能被5或6整除)(知识点:条件语句)
public static void main(String[] args) {
int x;
Scanner sc = new Scanner(System.in);
x = sc.nextInt();
if ( x%5==0&&x%6==0 ) {
System.out.println(x+"能够同时被5和6整除");
}else if ( x%5==0&&x%6!=0 ) {
System.out.println(x+"只能被5整除");
}else if ( x%5!=0&&x%6==0 ) {
System.out.println(x+"只能被6整除");
}else {
System.out.println(x+"不能被5或6整除");
}
}
}
3、假设某员工今年的年薪是30000元,年薪的年增长率6%。编写一个Java应用程序计算该员工10年后的年薪。(知识点:循环语句for)
public class 练习3 {
// 3、假设某员工今年的年薪是30000元,年薪的年增长率6%。
// 编写一个Java应用程序计算该员工10年后的年薪。(知识点:循环语句for)
public static void main(String[] args) {
double salary = 30000;
for (int i = 1; i <= 10; i++) {
salary = salary+salary*0.06;
}
System.out.println("10年后年薪为"+salary);
}
}
4、猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。(知识点:循环语句 ,逆向思维)
public class 练习4 {
// 4、猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个,
// 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
// 以后每天早上都吃了前一天剩下的一半零一个。
// 到第10天早上想再吃时,见只剩下一个桃子了。
// 求第一天共摘了多少。(知识点:循环语句 ,逆向思维
public static void main(String[] args) {
int t = 1;
for (int i = 1; i <= 9; i++) { // 九天吃了九次
t = (t+1)*2;
}
System.out.println("一共摘了"+t+"个桃子");
}
}



