03_1.引用数据类型
1.创建公式:数据类型 变量名 = new 数据类型();
2.使用公式:变量.方法名()
03_2. Scanner类的使用
1.作用:让我们在命令行中接受键盘的输入
2.nextInt();接收键盘上输入的整数,只能是整数。
3.next();接收键盘上输入的字符串
4.使用方法:
- a.导包import java.util.Scanner;
- b:创建键盘录入对象 Scanner sc = new Scanner(System.in);
- c: 读取键盘录入的一个整数
int enterNumber = sc.nextInt(); - d: 读取键盘录入的字符串
String enterString = sc.next();
5.案例代码
import java.util.Scanner;
public class ScannerDemo{
public static void main (String[] args){
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();//接收整数
System.out.println(i+1);
String s = sc.next();//接收字符串
System.out.println(s+1);//+1为连接
}
}
03_3. Random类的使用
1.用于产生随机数
2.nextInt(100);产生0-99之间的随机数,不包含100,若是想产生1-100之间的随机数,只需在下一步进行加法运算,对产生的数+1便可。
3.nextDouble();产生0.0-1.0之间的随机数
4.随机数:伪随机数,虚拟机根据人写好的一个算法生成出来的。
5. 使用方法:
- a.导包:java.util. Random
- b.创建实例格式:Random random = new Random ();
- c.调用方法
nextInt(int maxValue) 产生[0,maxValue)范围的随机数,包含0不包含maxValue
nextDouble() 产生[0,1)范围的随机数
如:
Random random = new Random ();
int myNumber = random.nextInt(100);//结果为0-99的一个数
- 案例代码
import java.util.Random;
public class RandomDemo{
public static void main (String [] args){
Random ran = new Random();
int i = ran.nextInt(100);//产生0-99之间的随机数
System.out.println(i);
double d = ran.nextDouble();
System.out.println(d);
}
}
03_4.if语句
-
格式
if(比较表达式) { 语句体; }
-
执行流程:
* 先计算比较表达式的值,看其返回值是true还是false。
* 如果是true,就执行语句体,如果是false,就不执行语句体。 -
代码
public class IfDemo{
public static void main (String [] args){
int i = 5;
if(i > 5){
System.out.println("if中的条件是true");
i++;
}
System.out.println(i);
}
}
03_5.if…else语句
-
格式
if(比较表达式) { if的执行体; }else { else的执行体; }
-
执行流程:
* 首先计算比较表达式的值,看其返回值是true还是false。
* 如果是true,就执行if的执行体,如果是false,就执行else的执行体; -
代码
public class IfElseDemo{
public static void main(String[] args){
int i = 16 ;
//判断变量,是奇偶数, 除以2,看余数是0还是1
if( i % 2 == 0 ){
System.out.println(i+" 是偶数");
}else{
System.out.println(i+" 是奇数");
}
}
}
03_6.if…else if…else语句
-
格式
if(条件1) { if的执行体; } else if (条件2){ else if的执行体; }else { else的执行体; }
-
执行流程:
* 首先计算比较条件1的值,看其返回值是true还是false。
* 如果是true,就执行if的执行体,如果是false,就比较条件1的值,看其返回值是true还是false。如果是true,执行else if的执行体,如果是false,就执行else的执行体; -
代码
public class IfElseIfDemo{
public static void main(String[] args){
//成绩判断要求 ,成绩>80 成绩>70 成绩>60 不及格
//定义变量,保存成绩
int grade = 75;
//使用if else if 语句对成绩判断
if( grade > 80 ){
System.out.println(grade+" 成绩是优");
}else if ( grade > 70){
System.out.println(grade+" 成绩是良");
}else if ( grade > 60){
System.out.println(grade+" 成绩是中");
}else{
System.out.println(grade+" 成绩是差");
}
}
}
03_7.if语句和三元运算符的互换
public class IfElseDemo_1{
public static void main(String[] args){
int j = 6;
int i = 15;
//使用if语句,判断出最大值
if(i>j){
int j = 6;
System.out.println(i+" 是最大值");
}else{
System.out.println(j+" 是最大值");
}
//使用三元运算实现
int k = i>j ? i : j;
System.out.println(k+" 是最大值");
}
}
- 使用if语句还是三元表达式
* 判断条件多,使用if
* 三元,必须有结果的, if 可以没有结果的
03_8. while循环
-
格式
初始化表达式; while(条件){ 循环体 }
-
执行顺序
当条件是true,就执行循环体,执行完循环体后
程序再次执行while中的条件,如果条件还是true,继续执行循环体
直到条件是false的时候,循环就结束 -
代码
public class WhileDemo{
public static void main(String[] args){
//输出 1-4之间的整数
//定义变量,整数类型, 循环的条件
int i = 1;
while( i < 5 ){
System.out.println(i);
i++;
}
}
}
03_9.for循环
1.格式
for(初始化变量 ; 条件 ; 增量){
循环体;
}
2.初始化变量: 定义变量,作用是用来控制循环的次数
3.条件: 当条件是true,执行循环体,条件是false,结束循环
4.增量: 变量自增情况
5. 代码
public class ForDemo{
public static void main(String[] args){
//for循环,输出0-10
for(int i = 0 ; i < 11 ; i++){
System.out.println(i);
}
}
}
03_10.for循环的执行顺序
for(初始化变量 ; 条件 ; 增量){
循环体;
}
- 执行初始化变量
- 执行判断条件,如果判断结果为true,执行第三步,如果判断结果为false,执行第五步
- 执行循环体
- 执行增量,执行第二步
- 退出循环
03_11.for循环案例
public class ForDemo_1{
public static void main(String[] args){
// 定义变量,记录求和后的数据
int sum = 0;
// 利用循环,将变量从1变化到4
for(int i = 1 ; i <= 4 ; i++){
//对变量进行求和
sum = sum + i;
}
System.out.println(sum);
}
}
03_12. do…while循环
-
格式
do{ 循环体; }while(条件);
-
执行顺序
先执行一次循环体,然后再判断条件,如果条件为true,继续执行循环体,
如果条件为false,循环结束。 -
特点
无条件先执行一次 -
代码
public class DoWhileDemo{
public static void main(String[] args){
int i = 0;
do{
System.out.println(i);
i++;
}while( i < 5);
}
}
03_13. 死循环(无限循环)
- 无限循环存在的原因是并不知道循环多少次(条件判断结果永远为真)
2.代码
public class WhileForDemo{
public static void main(String[] args){
//while形式死循环
/*while(true){
}*/
//for形式死循环
for( ; true ; ){
}
}
}
03_14.循环嵌套
-
嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构(循环里面还有循环)。while、do…while、for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,如最常见的在for循环中嵌套for循环。
-
格式
for(初始化表达式; 循环条件; 操作表达式) { ……… for(初始化表达式; 循环条件; 操作表达式) { 执行语句 ……… } ……… }
-
总的循环次数 = 内循环次数 * 外循环的次数
-
每循环一次外循环,就将内循环执行到结束
-
内循环,是外循环的循环体
-
外循环,控制的是行数;内循环,控制的是每行的个数
-
打印三角形:
public class ForForDemo{
public static void main(String[] args){
for(int i = 0 ; i < 9 ; i++){
for(int j = 0; j < i+1 ;j++){
System.out.print("* ");
}
System.out.println();
}
}
}
03_15.break语句
1.作用于循环中,终止循环的作用(跳出所在的循环体)
2. 只能跳出最近的循环体
3.代码
public class BreakDemo{
public static void main(String[] args){
int i = 1;
while(true){
if(i == 3){
break;
}else{
System.out.println(i);
}
i++;
}
}
}
03_16.continue语句
- 作用: 在循环中, 终止本次循环,开始下一次循环
- 代码
public class ContinueDemo{
public static void main(String[] args){
for(int i = 0 ; i < 10 ; i++){
if(i%2==0){
continue;
}
System.out.println(i);
}
}
}
//会把0-9之间所有的奇数打印到控制台上
03_17.案例:猜数字小游戏
猜数字小游戏
完成猜数字小游戏:
1、产生随机数
后台预先生成一个随机数1-100,用户键盘录入猜数字
2、通过if语句对用户猜的数与随机数进行比较
如果猜对了,打印“恭喜您,答对了”
如果猜错了
猜大了:打印“sorry,您猜大了!”
猜小了:打印“sorry,您猜小了!”
3、通过for循环完成用户猜数的循环
直到数字猜到为止
最多只能猜5次,否则提示“sorry,您没有机会了!”
import java.util.Random;
import java.util.Scanner;
//通过*的方式可以一次导入该包下所有的类,但是不建议使用。建议使用哪个导哪个。
//import java.util.*;
public class GuessNumber{
public static void main(String[] args) {
//1、产生随机数
//后台预先生成一个随机数1-100,用户键盘录入猜数字
//创建随机数对象
Random random = new Random();
//产生一个1-100的随机数
int randomNumber = random.nextInt(100)+1;
//System.out.println("我产生的随机数是:"+randomNumber+"你猜猜是多少?"); 作弊专用
//产生控制台录入的Scanner对象
Scanner sc = new Scanner(System.in);
//3、通过for循环完成用户猜数的循环
//通过for循环完成猜数字逻辑
for(int i=1; i<=5; i++){
//提示用户输入要猜的数,用变量接收
System.out.println();
System.out.println("请您输入一个1-100的数:");
int guessNumber = sc.nextInt();
//2、通过if语句对用户猜的数与随机数进行比较
//如果猜对了
if(guessNumber==randomNumber) {
//打印猜对后的提示
System.out.println("恭喜您,猜对了!");
//跳出循环,不用再猜了
break;
}else {//如果猜错了
//如果猜大了
if(guessNumber>randomNumber) {
System.out.println("sorry,您猜大了!");
}else {//如果猜小了
System.out.println("sorry,您猜小了!");
}
}
//如果猜到了最后的第5次仍然没有猜对就跳出循环
if(i==5) {
System.out.println("对不起,点太背,下次再来吧!");
break;
}
//每次猜错后,都提示还有多少次机会
System.out.println("请注意,您还有"+(5-i)+"次机会,请慎重作答!");
}
}
}