1.Scanner键盘输入:
Demo01:
/*
引用数据类型三步:
1.导包
import 包名.包名.类名
2.定义变量并赋值
数据类型 变量名 = new 数据类型();
3.调用方法
变量名.方法名();
Scanner导入:
导包
import java.util.Scanner;
定义变量并赋值
Scanner sc = new Scanner(System.in);
调用方法
int:nextInt() 键盘输入一个整数
int num = sc.nextInt();
String:next() 键盘输入一个字符串
String s = sc.next();
double:nextDouble() 键盘输入一个小数
double b = sc.nextDouble();
String:nextLine(); 接收一行数据
String line = sc.nextLine();
*/
import java.util.Scanner;
public class Demo01
{
public static void main(String[] args)
{
//定义变量并赋值
Scanner sc = new Scanner(System.in);
Scanner sc2 = new Scanner(System.in);
//键盘输入一个整数 变量名.方法名();
System.out.println("请输入一个整数:");
int num = sc.nextInt();
System.out.println(num);
//输入一个小数
System.out.println("请输入一个小数:");
double num2 = sc.nextDouble();
System.out.println(num2);
//键盘录入一个字符串
System.out.println("请输入一个字符串:");
String s = sc.next();
System.out.println(s);//如果有空格,只能接受空格之前的
//键盘输入一行字符串
System.out.println("请输入一行字符换:");
String line = sc2.nextLine();
System.out.println(line);
//nextLine方法不能和其他输入方法一起使用
//两种解决方案:
//1.重新创建一个对象;
//2.先写一个sc.nextLine();来接收回车符
}
}
2.Random随机数:
Demo02:
/*
Random包导入
导包
import java.util.Random;
定义变量并赋值
Random r = new Random();
调用方法
int nextInt(int max) 生成一个随机整数 [0,max) 最大值为max - 1
double nextDouble() 生成一个随机小数[0,1)
*/
import java.util.Random;
public class Demo02
{
public static void main(String[] args)
{
//定义变量并赋值
Random r = new Random();
//调用方法 10-99
int randomNum = r.nextInt(90) + 10;
System.out.println(randomNum);
//生成随机小数
double b = r.nextDouble();
System.out.println(b);
//使用nextDouble生成一个0-99的随机整数
int c = (int)(r.nextDouble()*100);
System.out.println(c);
}
}
3.if语句:
1.单条件判断:
if(条件)
{
执行语句
}
2.互斥条件判断:
if(条件)
{
执行语句
}
else
{
执行语句
}
3.多条件判断:
if(条件)
{
执行语句
}
else if()
{
执行语句
}
......
else
{
执行语句
}
Demo03:
public class Demo03
{
public static void main(String[] args)
{
//
int age = 18;
if(age >= 18)
{
System.out.println("成年了,可以上网");
}
//
boolean b = true;
if(b)
{
System.out.println("b为true");
}
//
char sex = '女';
if(sex == '男')
{
System.out.println("你是一个男人");
}
else
{
System.out.println("你不是一个男人");
}
//
int score = 99;
if(score < 60)
{
System.out.println("不及格");
}
else if(score >= 60 && score <=85)
{
System.out.println("良好");
}
else
{
System.out.println("优秀");
}
}
}
4.switch选择语句:
switch(被判断数)
{
case 值1:
执行语句
break;
case 值2:
执行语句
break;
case 值3:
执行语句
break;
......
default:
执行语句
break;
}
*:byte short int char String类型可以
*:case只在第一次判断时生效,之后就相当于没有case了,如果不写break,代码会向下执行,不再判断case,
直到遇到break或者大括号结束(case穿透).
Demo04_switch:
import java.util.Scanner;
public class Demo04_switch
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
System.out.println("请输入1-7的整数:");
int a = sc.nextInt();
switch(a)
{
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期七");
break;
default:
System.out.println("输入不对");
break;
}
}
}
5.循环:
for:
循环四要素
1.初始化表达式
定义一个变量 用来记录初始的次数
2.布尔表达式
循环的出口 循环的判断条件 次数 <= 10
3.步进表达式
循环的变量 每次都需要变化
4.循环体
循环中执行的内容
循环注意事项:
for循环的注意事项
1234均可为空
1为空:并不是没有初始化表达式,而是可以定义在循环外(区别是作用域范围)
2为空:相当于写true,死循环
3为空:循环变量不变化,1死循环;2将步进表达式写在循环体中
4为空:没有任何意义
for(初始化表达式1;布尔表达式2;步进表达式3)
{
循环体4
}
执行顺序:
12 432 432 432 432 ...一直到2不满足条件
Demo05:
public class Demo05_for
{
public static void main(String[] args)
{
for(int i = 0;i<10;i++)
{
System.out.println("循环他丫的"+i);
}
//定义一个循环,打印1-100之间所有的整数
for(int i = 1;i <= 100;i++)
{
System.out.println(i);
}
//定义一个循环,打印1-100之间所有的偶数
for(int i = 2;i<=100;i+=2)
{
System.out.println(i);
}
//定义一个循环,打印1+2+...+100
int sum = 0;
for(int i = 1;i<=50;i++)
{
sum = sum+i+(101-i);
if(i == 50)
System.out.println(sum);
}
}
}
while:
初始化表达式1
while(布尔表达式2)
{
循环体3
步进表达式4
}
1 234 234 234 ...一直到2不满足条件为止
*:while循环适用:不知道循环多少次的时候
Demo07:
import java.util.Random;
public class Demo07_while
{
public static void main(String[] args)
{
int i = 1;
while(i<=10)
{
System.out.println(i);
i++;
}
//生成随机数,当随机数为50跳出循环
Random r = new Random();
int num = 0;
while((num=r.nextInt(100))!=50)
{
System.out.println(num);
}
System.out.println(num);
//求1-100所有偶数的和
int j = 2;
int sum = 0;
while(j<=100)
{
sum+=j;
j+=2;
}
System.out.println(sum);
}
}
do while:
初始化表达式1
do
{
循环体2
步进表达式3
}while(布尔表达式4);
1 234 234 ...一直到4不满足为止
*:do while循环一定会执行一次,先执行一次再判断
Demo08:
public class Demo08_dowhile
{
public static void main(String[] args)
{
//打印10次hello whorld
int i = 1;
do
{
System.out.println("hello"+i);
i++;
}while(i<=0);
}
}
break和continue:
break完全中断:只能在 循环 或者 switch语句中使用
continue不完全中断:只能在循环内部使用,跳出本次循环,继续后面的循环
*break不可以越级跳出,当循环中有switch中有break时只能跳出本switch
若想跳出,使用 标记语句 :
abc:
while...
switch
case 5:
...
break abc;
Demo09:
public class Demo09_break
{
public static void main(String[] args)
{
for(int i = 1;i<=10;i++)
{
if(i == 5)
{
break;//在i=5的时候完全中断
}
System.out.println(i);
}
for(int i = 1;i<=10;i++)
{
if(i == 5)
{
continue;//在i=5的时候中断本次循环,不打印5,继续下一次循环
}
System.out.println(i);
}
}
}
循环嵌套:
Demo10:
public class Demo10_sanjiaoxing
{
public static void main(String[] args)
{
for(int i=1;i<=3;i++)//外层循环控制有多少行
{
for(int j=1;j<=i;j++)//内层循环控制每行多少个
{
System.out.print("*");
}
System.out.println();
}
System.out.println("-------------------------------------------");
//九九乘法表
for(int i=1;i<=9;i++)
{
for(int j = 1;j<=i;j++)
{
int a = i*j;
System.out.print(i+"*"+j+"="+a+" ");
}
System.out.println();
}
}
}
猜数字Demo11(while):
import java.util.Random;
import java.util.Scanner;
public class Demo11_guessnum
{
public static void main(String[] args)
{
//生成一个1-100随机数
Random r = new Random();
int num = r.nextInt(100)+1;
System.out.println(num);
//键盘输入猜的数字
Scanner sc = new Scanner(System.in);
while(true)
{
System.out.println("请输入你猜的数字:");
int a = sc.nextInt();
//判断是否正确
if(a == num)
{
System.out.println("猜对了");
break;
}
if(a > num)
{
System.out.println("猜大了");
}
if(a < num)
{
System.out.println("猜小了");
}
}
}
}
猜数字(for):
import java.util.Random;
import java.util.Scanner;
public class Demo11_guessnumfor
{
public static void main(String[] args)
{
//生成随机数
Random r = new Random();
int randomNum = r.nextInt(100)+1;
System.out.println("随机生成的数字为:"+randomNum);
//获取输入数字
Scanner sc = new Scanner(System.in);
//使用for循环限制猜的次数
for(int i=1;i<=5;i++)
{
System.out.println("请输入你猜的数字:");
int guessNum = sc.nextInt();
//判断是否正确
if(guessNum==randomNum)
{
System.out.println("猜对了");
break;
}
else if(guessNum>randomNum)
{
System.out.println("猜大了");
System.out.println("还剩下"+(5-i)+"次");
continue;
}
else if(guessNum<randomNum)
{
System.out.println("猜小了");
System.out.println("还剩下"+(5-i)+"次");
continue;
}
}
}
}