作者:爱塔居
专栏:Java学习
作者简介:大三学生,想要跟大家一起进步,有一个美好的未来~
内容简介:这篇文章介绍的是Java逻辑算法和方法。
文章目录
目录
一、分支结构
1.1 if语句
1.1.1 语法格式1
if(布尔表达式){
//语句
}
public class Study10_31 {
public static void main(String[] args) {
int a = 10;
if(a == 10){
System.out.println("a == 10");
}
}
}
如果布尔表达式结果为true,执行if中的语句,否则不执行。
注意:1.第一个花括号要跟在if语句的后面;
2.if后面一定跟的是布尔表达式,否则会报错哟~比如这里如果写a=10,就不行了;
3.尽量格式规范,写的美观,不要省略花括号~
1.1.2 语法格式2
if(布尔表达式){
//语句1
}else{
//语句2
}
public class Study10_31 {
public static void main(String[] args) {
int a = 10;
if(a == 10){
System.out.println("a == 10");
}else{
System.out.println("a != 10");
}
}
}
如果布尔表达式结果为true,则执行if中语句,否则执行else语句。然后就是注意格式规范了。
1.1.3 语法格式3
if(布尔表达式1){
//语句1
}else if(布尔表达式2){
//语句2
}else{
//语句3
}
public class Test {
public static void main(String[] args) {
int score = 70;
if (score >= 90) {
System.out.println("优秀");
} else if (score >= 70 && score < 90) {
System.out.println("良好");
} else if (score >= 60 && score < 70) {
System.out.println("及格");
} else if (score >= 0 && score < 60) {
System.out.println("不及格");
} else {
System.out.println("编译错误");
}
}
}
表达式1成立,执行语句1,否则表达式2成立,执行语句2,否则执行语句3。
[小试牛刀]
判断是否是闰年:
public class Test {
public static void main(String[] args) {
int year=2000;
if((year % 400 == 0)||(year % 100 != 0)&&(year % 4 ==0)){
System.out.println(year+"闰年");
}else{
System.out.println("year+不是闰年");
}
}
}
1.2 switch语句
基本语法
switch(表达式){
case 常量值1:{
语句1;
[breal;]
}
case 常量值2:{
语句2;
[break;]
}
……
default:{
内容都不满足时执行语句;
[break;]
}
}
二、循环结构
2.1 while循环
基本语法格式:
while(循环条件){
循环语句;
}
循环条件为 true, 则执行循环语句; 否则结束循环。
int num = 1 ;while ( num <= 10 ); {System . out . println ( num );num ++ ;}// 执行结果[ 无任何输出 , 程序死循环 ]
[小试牛刀]
1.打印1-10的数字
public class Test {
public static void main(String[] args) {
int a=1;
while (a<=10){
System.out.println(a);
a++;
}
}
}
2.计算1-100的和
public class Test {
public static void main(String[] args) {
int sum = 0;
int a = 1;
while (a <= 100) {
sum+=a;
a++;
}
System.out.println(sum);//5050
}
}
3.计算5的阶乘
public class Test {
public static void main(String[] args) {
int sum = 0;
int a = 1;
while (a <= 100) {
sum+=a;
a++;
}
System.out.println(sum);//120
}
}
4.计算1!+2!+3!+4!+5!
public class Test {
public static void main(String[] args) {
int a=1;
int sum1=1;
int sum2=0;
while(a<=5)
{
sum2=sum2+sum1;
a++;
sum1=sum1*a;
}
System.out.println(sum2);
}
}
2.2 break、continue
continue 的功能是跳过这次循环, 立即进入下次循环。执行到 continue 语句的时候, 就会立刻进入下次循环(判定循环条件), 从而不会执行到下方的打印语句。
举例:找到 100 - 200 中第一个 3 的倍数
int num = 100 ;while ( num <= 200 ) {if ( num % 3 == 0 ) {System . out . println ( " 找到了 3 的倍数 , 为 :" + num );break ;}num ++ ;}// 执行结果找到了 3 的倍数 , 为 : 102
找到 100 - 200 中所有 3 的倍数int num = 100 ;while ( num <= 200 ) {if ( num % 3 != 0 ) {num ++ ; // 这里的 ++ 不要忘记 ! 否则会死循环 .continue ;}System . out . println ( " 找到了 3 的倍数 , 为 :" + num );num ++ ;}
2.3 for循环
【基本语法】
for(表达式①;表达式②;表达式③){
表达式④;
}
public class Test {
public static void main(String[] args) {
int sum=0;
for (int i=1;i<=100;i++){
sum=sum+i;
}
System.out.println(sum);
}
}
三.输入输出
3.1输出到控制台
1.System . out . println (输出内容 ); // 输出一个字符串 , 带换行2.System . out . print (输出内容 ); // 输出一个字符串 , 不带换行3.System . out . printf (输出内容 ); // 格式化输出,很少去用,就是比如要输出几位有效数字之类可以用
3.2 从键盘输入
import java.util.Scanner;//导入util包
public class Test {
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(name);
System.out.println(age);
System.out.println(salary);
scanner.close();//调用关闭方式
}
}
如果你们的版本和我的一样的话,我们打完这句Scanner scanner=new Scanner(System.in);,上面的import java.util.Scanner;不需要我们自己打,会自己生成。
【牛刀小试】
使用 Scanner 循环读取 N 个数字,并求取其平均值
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int num=0;
int sum=0;
while (scanner.hasNextInt()){
int temp=scanner.nextInt();
sum=sum+temp;
num++;
}
System.out.println(sum/num);
scanner.close();
}
}
while(scanner.hasNextInt()),判断的是输入的是否为int类型。如果是,则执行,不是就退出循环。
四.猜数字游戏
100以内猜数字游戏:
import java.util.Scanner;
import java.util.Random;
public class Test {
public static void main(String[] args) {
Random random=new Random();
Scanner scanner=new Scanner(System.in);
int toGuess=random.nextInt(100);
while (true) {
System.out.println("请输入要输入的数字:");
int num = scanner.nextInt();
if (num < toGuess) {
System.out.println("低了");
} else if (num > toGuess) {
System.out.println("高了");
} else {
System.out.println("猜对了");
break;
}
}
scanner.close();
}
}