输入输出
输出
java输出语句是将代码中需要体现的内容展示在控制台,java对输出提供了三种打印方式: 输出并换行(println)、输出不换行(print)、格式化输出(printf)。
格式化输出,可以对输出数据类型进行格式化,不同占位符对应不同的格式化类型:
| 占位符 | 说明 |
|---|---|
| %d | 格式化输出整数 |
| %x | 格式化输出十六进制整数 |
| %f | 格式化输出浮点数 |
| %e | 格式化输出科学计数法表示的浮点数 |
| %s | 格式化字符串 |
代码示例
public static void main(String[] args) {
System.out.println("输出并换行");
System.out.print("输出不换行");
System.out.println();
System.out.printf("格式华输出%s", "printf");
}输入
代码示例
public static void main(String[] args) {
/*
* 输入
* */
Scanner scanner = new Scanner(System.in);
System.out.println("请输入:");
String line = scanner.nextLine();
System.out.println("输入:"+line);
}if条件判断
用于处理代码逻辑中,满足都写条件才执行部分代码的语法。
Java 语法执行顺序是自上而下顺序执行的,根据不同业务逻辑会存在 满足某个条件时,执行部分逻辑,否则执行其他逻辑 的需求。
基础语法
if(条件){
//逻辑语句
}else {
//不满足条件执行语句
}如果有多个条件执行不同逻辑,则需要使用 else if 区分:
if(条件1){
//条件1逻辑语句
}else if(条件2){
//条件2逻辑语句
}else {
//不满足条件1和2的执行语句
}注意:
if 语句、 else if 语句、else 语句的结构体是互补关系,不会同时执行;- 使用
if...else if...else语法时,需要注意逻辑循序,条件范围小的放再前面,范围大的放在后面; - 使用
if条件判断时,如果逻辑语句只有1条,可以不添加{},如果有多条需要添加,建议都添加{}。
switch多重选择
根据不同条件执行不同业务逻辑的业务,除了使用if条件判断还可以使用switch多重选择的方法,可以简化多个if…else if…的语法。
基础语法
switch(条件){
case 结果1: 逻辑1;break;
case 结果2: 逻辑2;break;
case 结果3: 逻辑3;break;
default:
默认逻辑;bredk;
}代码实例
菜单页面进行选择时,根据选择不同内容执行不同业务逻辑:
int l = 1;
switch (l){
case 1:
System.out.println("1");
break;
case 2:
System.out.println("2");
break;
default:
System.out.println("default");
break;
}注意:
switch语句中,当条件等于case的结果值时,执行该case的代码块,如果遇到break则跳出语句;case语句具有穿透性,当满足case条件后如果没有遇到break则继续执行下一个case的代码块,直到遇到break关键字或代码执行结束。- 当所有
case都不满足时,有deafult分支时默认执行deafult的代码块,否则switch语句不继续执行。
多重循环
如果存在需要多次执行的代码块,可以使用 while 循环和 do...while 循环两种方式;
while循环
基础语法
while(条件){
//代码逻辑
}使用
当需要实现1+2+3+4+5+…+100=? 的逻辑时,可以使用while语句实现。
/*
* while循环
* */
int wNum = 0;
int sum = 0;
while (wNum <= 100){
sum = wNum + sum;
wNum++;
}
System.out.println("sum:"+sum);do…while循环
基础语法
do {
//执行代码块
}while(条件)使用
do...while语句的使用与 while 语句的区别为,首先执行一次代码块然后再判断条件。while语句若不满足条件可能一次也不执行,而 do...while 语句至少回执行一次。
/*
* do while循环
* */
int dNum = 0;
int dSum = 0;
do {
dSum = dNum + dSum;
dNum++;
}while (dNum <= 100);for循环
在for循环执行前,会先执行初始化语句int i=1,它定义了计数器变量i并赋初始值为1,然后,循环前先检查循环条件i<=100,循环后自动执行i++,因此,和while循环相比,for循环把更新计数器的代码统一放到了一起。在for循环的循环体内部,不需要去更新变量i。
for (初始条件; 循环检测条件; 循环后更新计数器) {
// 执行语句
}增强for循环
// for each
public class Main {
public static void main(String[] args) {
int[] ns = { 1, 4, 9, 16, 25 };
for (int n : ns) {
System.out.println(n);
}
}
}注意:
for循环中不能修改计数器i或对循环数组、集合进行修改,否则回导致for循环内程序计数器数值错乱;for循环中可以使用breake跳出循环;continue语句跳出本次循环进入下一次循环,多层循环语句中contine语句优先跳过本次循环所在的循环体即最进的for循环。