目录
1. 顺序结构
2. 分支结构
2.1 if语句
2.2 switch语句
3. 循环结构
3.1 while 循环
3.2 break和continue
3.3 for 循环
3.4 do while 循环
4.输入输出
4.1 输出到控制台
4.2 从键盘输入
5. 猜数字游戏
本篇主要写了java中的逻辑控制语句,和C区别不大;还写了在java中的输入输出方式,这个必须熟练掌握
这个比较简单,就是按照代码书写的,顺序来执行输出,
如果书写顺序发生变化,输出顺序也随之发生变化
public class TestDemo {
public static void main(String[] args) {
System.out.println("aaa");
System.out.println("bbb");
System.out.println("ccc");
//调整代码书写的顺序后,输出顺序也随之发生变化
System.out.println("bbb");
System.out.println("ccc");
System.out.println("aaa");
}
}
和C的区别就是括号里面的判断条件为布尔表达式,直接看例子吧
public class TestDemo {
public static void main(String[] args) {
//1.if 单分支
int score = 92;
if(score>=90){
System.out.println("优秀");
}
//2.if-else 双分支
if(score>=90){
System.out.println("优秀");
}else{
System.out.println("不优秀");
}
//3.if-else if-else 多分支
if(score>=90){
System.out.println("优秀");
}else if(score>=80){
System.out.println("优良");
}else{
System.out.println("不优秀");
}
}
}
switch语句比较简单和C语言区别不大,直接看例子吧
public class TestDemo {
public static void main(String[] args) {
int day = 1;
switch (day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
default:
System.out.println("error");
}
}
}
这里要注意
switch的括号内只能是以下类型的表达式:
基本类型:byte,cahr,short,int,注意不能是long和浮点类型
引用类型:String常量串,枚举类型
public class TestDemo {
public static void main(String[] args) {
/* while(循环条件){
循环语句;
}
*/
//来个简单的例子吧,打印1-10的数字
int num = 1;
while(num <= 10){
System.out.println(num);
num++;
}
}
}
public class TestDemo {
public static void main(String[] args) {
//1.break
//它的功能是让循环提前结束
int num = 100;
while(num <= 200){
if(num%3 == 0){
System.out.println("找到了3的倍数为"+num);
break;
}
num++;
}//执行到break就会让循环结束
//2.continue
//它的功能是跳过这次循环,立即进入下次循环
int num1 = 100;
while(num1 <= 200){
if(num1 %3 == 0){
continue;
}
System.out.println("找到了3的倍数为"+num1);
num1++;
} //执行到continue就会立刻进入下次循环判定
}
}
for(表达式1;布尔表达式2;表达式3){
表达式4;
}//表达式1,用于初始化循环变量的初始值设置
//布尔表达式2,循环条件,满足就继续执行,否则结束
//表达式3,循环变量的更新方式
简单的看一下例子吧
public class TestDemo {
public static void main(String[] args) {
//计算1-100的和
int sum = 0;
for (int i = 1; i <=100; i++) {
sum += i;
}
System.out.println("sum ="+sum);
}
}
do-while语句,先无条件执行一次循环语句,然后再判断循环条件,若成立就继续执行,否则结束循环。
public static void main(String[] args) {
int num = 1;
do {
System.out.println(num);
num++;
}while(num<=10);
}
public static void main(String[] args) {
System.out.println("msg");
System.out.print("msg");
int x = 10;
System.out.printf("x=%d",x);
}
转换符 | 类型 | 举例 | |
---|---|---|---|
d | 十进制整数 | ("%d",100) | 100 |
x | 十六进制整数 | ("%x",100) | 64 |
o | 八进制整数 | ("%o",100) | 144 |
f | 定点浮点数 | ("%f",100f) | 100.000000 |
e | 指数浮点数 | ("%e",100f) | 1.000000e+02 |
g | 通用浮点数 | ("%g",100f) | 100.000 |
a | 十六进制浮点数 | ("%a",100) | 0x1.9p6 |
s | 字符串 | ("%s",100) | 100 |
c | 字符 | ("%c",'1') | 1 |
b | 布尔值 | ("%b",100) | true |
h | 散列码 | ("%h",100) | 64 |
% | 百分号 | ("%.2f%%",2/7f) | 0.29% |
使用Scanner读取字符串/整数/浮点数
我们在从键盘输入时
需要导入util包
//a1,b都是自己取的名字
Scanner a1=new Scanner(System.in);//这里在输入第一个Scanner时可以直接回车就把包导入进去了,不然就要手动输入 String b = a1.nextLine();
import java.util.Scanner;//需要导入util包
public class TestDemo {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = scanner.nextLine();
System.out.println("请输入你的年龄:");
int age = scanner.nextInt();
System.out.println("请输入你的工资:");
float salary = scanner.nextFloat();
System.out.println("你的信息如下:");
System.out.println("姓名:"+name+"\n"+"年龄:"+age+"\n"+"工资:"+salary);
scanner.close();
}
游戏规则:
import java.util.Random;
import java.util.Scanner;
/**
* @author Lxh
* @version 2022.1.2
* @date 2022/4/23 20:42
*/
public class TestDemo {
public static void main(String[] args) {
Random random = new Random();//默认随机种子是系统时间
Scanner scanner = new Scanner(System.in);
int toGUess = random.nextInt(100);
//System.out.println("toGUess:"+toGUess);
while(true){
System.out.println("请输入要输入的数字:(1-100)");
int num = scanner.nextInt();
if(numtoGUess){
System.out.println("高了");
}else{
System.out.println("猜对了");
break;
}
}
scanner.close();
}
}