Java学习笔记——Java本身、基础语法、键盘录入、分支、循环

Java相关

简介

1.Java是1991年sun公司推出的
2.Java之父:詹姆斯·高斯林(James Gosling)
3.Java的logo:小咖啡杯
4.Java所属的公司:sun——Oracle

版本分类

1.JavaSE
两大功能:
(1)是JavaME和JavaEE的基础(重要)
(2)可以用来进行桌面开发(已弃用)
【1】界面不美观(颜值)
【2】如果渲染一些比较复杂的动画,会出现卡顿(性能)
AWT、GUI —— 桌面开发、不用学
2.JavaME(不学)
小型设备开发:手机、pad、机顶盒.etc
诺基亚——塞班系统——打开小游戏——弹出一个小咖啡杯
安卓——H5(前端)
3.JavaEE(重要)
用来作为大型服务器开发
Q:什么是服务器?
A:app与商家之间的中转站

  • 三个版本间的关系

    JavaSE 是基础,在此基础上延伸出了 JavaME 和 JavaEE 这两个分支

Java的特点

  • 跨平台

    在不修改源代码的情况下,同一个Java文件,可以在任意的操作系统中正常运行

    • 原理

      JVM(Java虚拟机)
      针对不同的操作系统,有不同版本的虚拟机
      原理:虚拟机运行在操作系统中,java文件运行在虚拟机上

JDK、JRE、JVM

  • JDK

    Java development kit:Java开发工具集
    特点:可开发、可运行
    作用:一般给Java开发人员使用

  • JRE

    Java Runtime Environment:Java运行环境
    特点:只能运行,不能开发
    作用:给想要运行Java程序的用户使用的

  • JVM

    Java Virtual Machine:Java虚拟机
    特点:在不同的操作系统中,都有不同版本的虚拟机
    总结:JDK 包含 JRE,JRE 包含 JVM

    • 三大任务

      • 加载

        JVM 将字节码文件(.class文件)加载进内存,再将 .class 文件转换成可以执行的机器码,存储到 JVM 的方法区。

      • 验证

        JVM 对加载的字节码进行验证,以确保符合 Java 的语言规范和 JVM 规范,包含类型检查.etc 。

      • 执行

        JVM 执行已经加载和验证的字节码文件。

开发第一个Java程序

底层原理

三个步骤

编写代码——编译代码——运行代码

编写代码

public class HelloWorld{
	public static void main(String[] args){
		System.out.println("Hello World!");
	}
}
  • 分析

    • public class HelloWorld

      表示定义一个类,其中HelloWorld是类的名字

    • public static void main(String[] args)

      表示定义一个方法,方法的名字是main

    • System.out.println(“Hello World!”);

      表示在控制台输出小括号里面的内容

编译代码(javac命令)

javac helloworld.java

  • 现象

    将 .java结尾的文件转成了 .class文件(字节码文件)

  • 本质

    .java ——> .class

  • 原因

    因为 JVM 只能认识 .class ,不认识 .java

  • 总结

    .java——给程序员看的
    .class——给虚拟机看的

运行代码(java命令)

java helloworld

  • 现象

    将代码结果放在cmd命令行中

  • 分析

    其实运行的是编译之后的 .class 文件

Idea

一个专门针对Java的集成开发工具

使用原因

Java程序开发三步骤:编写代码(.java)——> 编译代码(javac)——>运行代码(java)

把编写代码、编译代码、运行代码等多种功能都综合到一起

初次使用步骤

1、创建一个项目(project)
2、打开项目结构,设置SDK
3、创建一个Java类型的module
4、使用Idea实现HelloWorld项目
(1)在src文件中创建一个包com.Idea ——包名命名规则:域名反写
(2)在包中创建一个类,类名为HelloWorld,每个类都是平级的,不能在类里创建类
5、使用快捷键生成相应的代码
6、一键编译和运行

  • 案例
 package com.Idea;
  /*
  * 快捷键:
  *   多行注释---- ctrl + shift + /
  *   单行注释---- ctrl + /
  *   main方法---- psvm
  *   控制台打印---- sout
  */
  public class HelloWorld {
      //main方法
      public static void main(String[] args) {
          //定义一个String类的字符串
          String c1 = "Miko";
          //在控制台打印结果
          System.out.println("HelloWorld"+" "+c1);
      }
  }

键盘录入

步骤:
1、导包
import java.util.Scanner;
2、创建键盘录入对象
Scanner sc = new Scanner(System.in);
3、通过键盘录入对象获取键盘输入的值
int s = sc.nextint();

实例1

package com.Idea;
import java.util.Scanner;
/*
*   测试键盘录入
* */
public class ScannerDemo1 {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入一个数字:");
        //接受从键盘中输入的数字
        int i = sc.nextInt();// ctrl+alt+v

        //输出
        System.out.println("您输入的数字为:"+i);
    }
}

实例2

package com.Idea;
import java.util.Scanner;
/*
* Scanner练习
*   键盘录入三个数字,输出其中的最小值
* */
public class ScannerDemo2 {
    public static void main(String[] args) {
        //创建键盘录入对象
        Scanner sc = new Scanner(System.in);
        //输入三个数字
        System.out.println("请输入第一个数字:");
        int i1 = sc.nextInt();
        System.out.println("请输入第二个数字:");
        int i2 = sc.nextInt();
        System.out.println("请输入第三个数字:");
        int i3 = sc.nextInt();
        //判断最小值
        int min = i1 < i2 ? i1 : i2;
        min = min < i3 ? min : i3;
        System.out.println("最小值为"+min);//格式化 ctrl + alt + L
    }
}

分支

if

  • if单选结构

    • 实例
package com.Idea;
	  import java.util.Scanner;
	  /*
	  * 测试if分支结构
	  * */
	  public class IfDemo1 {
	      public static void main(String[] args) {
	          //if单选结构
	          //键盘录入一个年龄,如果大于等于18,则输出成年
	  
	          //创建键盘录入对象
	          Scanner sc = new Scanner(System.in);
	          System.out.println("请输入一个年龄:");
	  
	          //接收键盘输入的值
	          int age = sc.nextInt();
	          //if单选结构
	          if(age >= 18){
	              System.out.println("已成年");
	          }
	      }
	  }
  • if双选结构

    • 实例
 package com.Idea;
	  import java.util.Scanner;
	  /*
	  * 测试if双选结构
	  * */
	  public class IfDemo2 {
	      public static void main(String[] args) {
	          //键盘一个数字,判断数字是否在5-10之间
	          //创建键盘录入对象
	          Scanner sc = new Scanner(System.in);
	          System.out.println("请输入一个数字:");
	          //接收键盘录入的值
	          int i = sc.nextInt();
	          //if双选结构
	          if (i >=5 && i<=10){
	              System.out.println("在5-10之间");
	          }else {
	              System.out.println("不在5-10之间");
	          }
	      }
	  }
  • if多选结构

    • 实例
 package com.Idea;
	  import java.util.Scanner;
	  /*
	  * 测试if多选结构
	  * */
	  public class IfDemo3 {
	      public static void main(String[] args) {
	          //键盘输入一个学生的成绩,如果大于等于90——优秀,如果大于等于70——良好
	          //如果大于等于60——及格,否则——不及格
	          //创建键盘录入对象
	          Scanner sc = new Scanner(System.in);
	          System.out.println("请输入一个成绩:");
	          //接收输入的成绩
	          int score = sc.nextInt();
	          //使用if多选结构进行判断
	          if (score >=90){
	              System.out.println("优秀");
	          }else if (score >=70){
	              System.out.println("良好");
	          }else if (score >=60){
	              System.out.println("及格");
	          }else{
	              System.out.println("不及格");
	          }
	      }
	  }

switch

case后面必须要添加break
格式:
switch(表达式){
case 常量 :
执行语句
break;
case 常量 :
执行语句
break;
default:
执行语句;
break;
}

  • 实例
package com.Idea;
  import java.util.Scanner;
  /*
  * 测试switch语句
  * 键盘输入一个整数月份
  * 3 4 5——春季
  * 6 7 8——夏季
  * 9 10 11——秋季
  * 12 1 2——冬季
  * */
  public class SwitchDemo1 {
      public static void main(String[] args) {
          //创建键盘录入对象
          Scanner sc = new Scanner(System.in);
          System.out.println("请输入一个月份");
          //接收键盘录入的值
          int month = sc.nextInt();
          //使用switch实现判断季节的需求
          switch (month){
              case 3:
              case 4:
              case 5:
                  System.out.println("夏季");
                  break;
              case 6:
              case 7:
              case 8:
                  System.out.println("秋季");
                  break;
              case 9:
              case 10:
              case 11:
                  System.out.println("冬季");
                  break;
              case 12:
              case 1:
              case 2:
                  System.out.println("春季");
                  break;
              default:
                  System.out.println("您输入的月份有误");
                  break;
          }
      }
  }
  • 分析

    表达式:取值只能是byte、short、int、char,JDK5以后可以是枚举,JDK7以后可以是String(面试题)

    case:后面跟的是和表达式比较的常量,数据类型要和表达式相同

    case穿透:case后面不加break时,会继续运行下一个case的执行语句,直到遇到break或者switch语句运行结束

    break:结束switch语句

    default:以上的case都不匹配,则执行default中的内容

循环

for循环(重要)

  • 实例1
 package com.Idea;
  /*
  * 测试for循环
  * */
  public class ForDemo1 {
      public static void main(String[] args) {
          //在控制台输出1,2,3,4....100
          //fori快捷输入for循环
          //100.fori快速输入0-100的for循环
          for (int i = 1; i <= 100; i++) {
              System.out.println(i);//复制当前行 ctrl+d
          }
      }
  }
  • 实例2
package com.Idea;
  /*
  * 练习for循环
  *       求和思想----统计思想
  *       1+2+3+...+100
  * */
  public class ForDemo2 {
      public static void main(String[] args) {
          int sum = 0;
          for (int i = 1; i <= 100; i++) {
              sum += i ;
          }
          System.out.println(sum);
      }
  }

while循环(重要)

格式:
初始化语句:
while(条件判断语句){
循环体语句;
条件控制语句;
}

  • 实例
package com.Idea;
  /*
      测试while循环
          初始化语句;
  		while(条件判断语句){
  				循环体语句;
  				条件控制语句;
  		}
  * */
  public class WhileDemo1 {
      public static void main(String[] args) {
          //统计思想:求1-100之间能被3整除的数的个数
          int total = 0;
          //使用while循环来完成需求
          int start = 1;
          while(start <= 100){
              if (start%3 == 0){ //表示可以被3整除
                  total++;//++total;也可以
              }
              start++;
          }
          System.out.println(total);
      }
}

do…while循环(了解)

格式:
初始化语句:
do{
循环体语句;
条件控制语句;
}while(条件判断语句);

  • 实例
package com.Idea;
  /*
     测试do...while循环
  		初始化语句:
  		do{
  				循环体语句;
  				条件控制语句;
  		}while(条件判断语句);
  */
  public class DoWhileDemo1 {
      public static void main(String[] args) {
          //统计思想:求1-100之间能被3整除的数的个数
          int total = 0;
          //使用while循环来完成需求
          int start = 1;
          do{
              if (start%3 == 0){ //表示可以被3整除
                  total++;//++total;也可以
              }
              start++;
          }
          while(start <= 100);
          System.out.println(total);
      }
  }

控制跳转

两个关键字:
break:结束整个循环
continue:跳过一次循环,进入下一次循环

  • 实例
package com.Idea;
  /*
  * 循环控制
  *       continue
  *       break
  * */
  public class ForDemo3 {
      public static void main(String[] args) {
          //在控制台打印1,2,3,...,100,其中55不打印
          for (int i = 1; i < 101; i++) {
              if (i == 55){
                  continue;//跳过一次循环
              }
              System.out.println(i);
          }
          //在控制台打印1,2,3,...,100,其中55及以后不打印
          for (int i = 1; i < 101; i++) {
              if (i == 55){
                  break;//结束循环
              }
              System.out.println(i);
          }
      }
  }

Java的基础语法

注释(掌握)

1、概述
注释是对程序的解释说明。
电脑——说明书(注释)
2、特点
注释不参与程序的运行,起到说明作用。

  • 分类

    (1)单行注释
    // 注释的内容
    (2)多行注释
    /* 注释的内容 /
    (3)文档注释(目前用不上)
    /
    * 注释的内容 **/
    要求:以后写代码一定要加注释

关键字

1、概念
在 Java 中,把赋予了特殊含义的单词,称为关键字
Java 中:单词(关键字)——特殊含义
2、特点
(1)关键字的单词字母全部小写
(2)在 notepad++ 中,关键字有高亮显示

常量

在程序运行的过程中,值不可以发生改变的量

  • 分类

    • 字符串常量

      使用 双引号 引起来的
      (单引号 ( ’ ’ ) 双引号( " " ) 反引号——键盘上波浪线英文输入( `` ))

    • 整数常量

      不带小数的一个数字

    • 小数常量

      带小数的数字

    • 字符常量

      【1】使用 单引号 引起来的
      【2】单引号中只能有一个字符(英文、中文、符号)

    • 布尔常量

      只有两个量:true、false

    • 空常量

      只有一个特殊的值:null

    • 实例

/*
	  	测试Java中的常量
	  */
	  public class Demo1{
	  	public static void main(String[] args){
	  		//字符串常量
	  		System.out.println("南京");
	  		System.out.println("JAVA");
	  		//整数常量
	  		System.out.println(1024);
	  		System.out.println(-12);
	  		//小数常量
	  		System.out.println(10.24);
	  		System.out.println(-36.52);
	  		//字符常量
	  		System.out.println('刚');
	  		System.out.println('好');
	  		//布尔常量
	  		System.out.println(true);
	  		System.out.println(false);
	  		//空常量
	  		//System.out.println(null); //null 值不能直接打印
	  	}
	  }

数据类型

作用:Java是一种强类型语言,Java中的数据必须要先明确类型,然后才能使用

  • 基本数据类型

    • 数据类型

      byte、short、int、long

    • 浮点数类型

      float、double

    • 字符

      char

    • 布尔类

      boolean

  • 引用数据类型

    • 接口

    • 数组

变量

在程序的运行过程中,值在一定范围内可以发生改变的量
结论:数值可以变,类型不能变

  • 赋值和声明

    方式一:推荐使用
    数据类型 变量名 = 值 ;
    方式二:能看懂就行
    数据类型 变量名 ;
    变量名 = 值 ;
    方式三:能看懂就行
    数据类型 变量名1 , 变量名2 , 变量名3 , … ;
    变量名1 = 值1 ;
    变量名2 = 值2 ;
    变量名3 = 值3 ;

  • 深入理解

 /*
  	变量的演示
  */
  public class Demo3{
  	public static void main(String[] args){
  		//声明byte类型的变量:
  		byte b1 = 10;
  		System.out.println(b1);
  		//声明short类型的变量:
  		short s1 = 100;
  		System.out.println(s1);
  		//声明int类型的变量:
  		int i1 = 1000;
  		System.out.println(i1);
  		//声明long类型的变量:
  		long l1 = 10L;
  			/*右侧10默认为int类型
  			long类型的数据在末尾要加上L或者l,推荐使用L
  			*/
  		System.out.println(b1);
  		//声明float类型的变量:
  		float f1 = 12.34F;
  			/*右侧12.34默认为double类型
  			float类型的数据在末尾要加上F或者f,推荐使用F
  			*/
  		System.out.println(f1);
  		//声明double类型的变量:
  		double d1 = 12.345;
  		System.out.println(d1);
  		//声明char类型的变量:
  		char c1 = 'a';
  		System.out.println(c1);
  		//声明boolean类型的变量:
  		boolean bl1 = true;//同一个方法内,变量名不能重复
  		System.out.println(b1);
  		
  		//测试:变量只申明,不赋值,能不能打印(使用)?
  		//变量在使用之前一定要赋值
  	}
  }

标志符号

给类名、变量、方法名、包含命名的符号

  • 标识符命名规则

    【1】必须由字母、数字、下划线(_)、美元符号($)组成
    【2】不能以数字开头
    【3】区分大小写,长度无限制
    【4】不能是Java中的关键字

  • 使用规范

    (1)大驼峰:类名,接口名
    每个单词的首字母大写
    Hello,Hellojava
    (2)小驼峰:方法名、变量名
    第一个单词首字母小写,从第二个单词开始,每个单词首字母大写
    (3)常量名:常量
    所有字母大写
    TOTAL、MAX_AGE

类型转换

  • 原因

    在做计算的时候,需要保证数据类型相同
    byte b1 = 10 ;
    10默认是 int 类型,而左边是 byte 类型,所以内部存在类型转换

  • 两种方式

    • 自动类型转换(隐式转换)

      容量小的数据类型可以自动转成容量大的数据类型
      转换规则:
      (1)byte、short、char——int——long——float——double
      (2)byte、short、char三者之间不会相互转换,计算的时候会直接都转成int类型
      (3)byte、short、char属于自动类型转换的特例,只要不超过其表示范围即可

      • 实例
/*
		  	测试自动类型转换
		  	转换规则:
		  (1)byte、short、char——int——long——float——double
		  (2)byte、short、char三者之间不会相互转换,计算的时候会直接都转成int类型
		  (3)byte、short、char属于自动类型转换的特例,只要不超过其表示范围即可
		  */
		  public class Demo4{
		  	public static void main(String[] args){
		  		//byte——>int
		  		byte a1=3;
		  		int a2=4;
		  		a2=a1;
		  		System.out.println(a2);
		  		//short——>int
		  		short b1=3;
		  		int b2=4;
		  		b2=b1;
		  		System.out.println(b2);
		  		//char——>int
		  		char c1='a';//'a'——97	'A'——65		'0'——48		ASCII码
		  		int c2=100;
		  		c2=c1;
		  		System.out.println(c2);
		  		//int——>long
		  		int d1=3;
		  		long d2=4L;
		  		d2=d1;
		  		System.out.println(d2);
		  		//long——>float
		  		long e1=100L;
		  		float e2=122.34F;
		  		e2=e1;
		  		System.out.println(e2);
		  		//float——>double
		  		float f1=12.5F;
		  		double f2=45.6;
		  		f2=f1;
		  		System.out.println(f2);
		  		
		  		//特殊的自动类型转换
		  		byte g1=10;
		  		short g2=100;
		  		//byte g3 = 1234; int 自动转byte,值不能超过byte的范围
		  		System.out.println(g1);
		  		System.out.println(g2);
		  	}
		  }

强制类型转换

把容量大的转成容量小的数据类型
格式:
目标数据类型 变量名 = ( 目标数据类型 ) 值或者变量
缺点:强制类型转换可能会造成精度丢失

实例

/*
		  	强制类型转换的两个案例
		  */
		  public class Demo5{
		  	public static void main(String[] args){
		  		//不丢失精度
		  		long l1=100L;
		  		int l2=(int)l1;
		  		System.out.println(l2);
		  		//丢失精度
		  		float a=12.345F;
		  		byte byte1=(byte)a;
		  		System.out.println(byte1);//12
		  	}
		  }

运算符和表达式

运算符:对常量或者变量进行操作的符号
int a = 10 ; = 为运算符
表达式:用运算符把常量或者变量连接起来,并且符合Java语法的式子
int c = a + b ; a + b 是表达式

  • 算数运算符

    四则运算

    • 实例
/*
	  	测试算数运算符
	  */
	  public class Demo1{
	  	public static void main(String[] args){
	  		int a=10;
	  		int b=3;
	  		//加
	  		System.out.println(a+b);
	  		//减
	  		System.out.println(a-b);
	  		//乘,Java中乘号使用*
	  		System.out.println(a*b);
	  		//除,Java中除号使用/
	  		System.out.println(a/b);//商,因为输入int为整数类,输出结果为整数
	  		//float和double 类是不准确的,例如:10.0/3=3.33335
	  		
	          //取余,Java中取余使用%
	  		System.out.println(a%b);
	  	}
	  }
  • +操作

    • 字符的+操作

      • 实例
/*
		  	测试字符+操作——>ASCII码
		  */
		  public class Demo2{
		  	public static void main(String[] args){
		  		char c1='a';//a——97——>98
		  		System.out.println(c1+1);
		  		
		  		char c2='A';//A——65
		  		System.out.println(c2+1);
		  		
		  		char c3='0';//a——48
		  		System.out.println(c3+1);
		  	}
		  }

字符串的+操作

实例

 /*
		  	测试字符串+操作
		  */
		  public class Demo3{
		  	public static void main(String[] args){
		  		System.out.println(1+99+"南京");//字符串中+,表示拼接
		  		System.out.println(3+4+"南京"+1+2);//结果为“7南京12”,“7南京”为字符串,+1、+2都为拼接
		  		System.out.println(3+4+"南京"+(1+2));//结果为“7南京3”
		  	}
		  }
  • 赋值运算

    • 实例
 /*
	  	测试赋值运算符号
	  */
	  public class Demo4{
	  	public static void main(String[] args){
	  		int a=10;
	  		int b=3;
	  		/*
	  		以下语句测试时需要按条依次测试
	  		每次计算后a、b值都会发生变化,测试结果不直观
	  		*/
	  		System.out.println(a += b);//a += b	——>		a = a + b
	  		System.out.println(a -= b);//a -= b	——>		a = a - b
	  		System.out.println(a *= b);//a *= b	——>		a = a * b
	  		System.out.println(a /= b);//a /= b	——>		a = a / b
	  		System.out.println(a %= b);//a %= b	——>		a = a % b
	  	}
	  }
  • 自增自减运算符

    自增(++):自动加 1
    自减(–):自动减 1

    • 实例
/*
	  	测试自增自减运算符
	  */
	  public class Demo5{
	  	public static void main(String[] args){
	  		int a=10;
	  		int b=3;
	  		//使用自增运算符
	  		a++;//++a; 在此处二者结果一致
	  		System.out.println(a);
	  		//实际操作时只写a++或者++a,不需要考虑赋值先后的两种情况
	          
	  		int j = a++;//++在后,++操作后计算
	  		System.out.println(a);//11,a++已经计算出结果
	  		System.out.println(j);//10,先赋值,a再++
	  		
	  		//int j=++a;//++在前,++操作先计算
	  		//System.out.println(a);//11,++a已经计算出结果
	  		//System.out.println(j);//11,先++,再赋值
	  	}
	  }
  • 关系运算符

    = != < <= > >=
    oracle中关系运算符可以拆开,mysql和Java不可以拆开

    • 实例
/*
	  	测试关系运算符
	  */
	  public class Demo6{
	  	public static void main(String[] args){
	  		int a=10;
	  		int b=20;
	  		System.out.println(a == b);
	  		System.out.println(a != b);
	  		System.out.println(a > b);
	  		System.out.println(a >= b);
	  		System.out.println(a < b);
	  		System.out.println(a <= b);
	  		//输出false或者true
	  	}
	  }
  • 逻辑运算符

    与& 或| 非! 异或^
    短路与&& 短路或||

    • 实例
 /*
	  	测试逻辑运算符
	  */
	  public class Demo7{
	  	public static void main(String[] args){
	  		int a=10;
	  		int b=20;
	  		//输出false或者true
	  		System.out.println(a > 5 & b < 10);//false,两个都为true,才输出true
	  		System.out.println(a > 5 | b < 10);//true,有一个为true,就输出true
	  		System.out.println(!(a > 5));	  //false,取反
	  		System.out.println(a > 5 ^ b < 10);//true,相同为false,不同为true
	  		//测试短路与和短路或
	  		int x=3;
	  		int y=4;
	  		//短路与
	  		//System.out.println((x++) > 4 & (y++) < 5);//测试时这两行需要分行测试,否则x++和y++已经改变x与y的值
	  		System.out.println((x++) > 4 && (y++) < 5);
	  		System.out.println(x);
	  		System.out.println(y);
	  		/*短路或
	  		//System.out.println((x++) > 3 | (y++) < 4);
	  		System.out.println((x++) > 3 || (y++) < 4);
	  		System.out.println(x);
	  		System.out.println(y);
	  		*/
	  	}
	  }

分析

  a > 10 & b <20		:两边都会执行
  
  a > 10 && b <20	 :&表示两个都是true,结果才是true;&&表示若左侧为false,则不计算右边
  
  a > 10 | b <20		:两边都会执行
  
  a > 10 || b <20	 :|表示一个是true,结果就是true;||表示若左侧为true,则不计算右边
  • 位运算符(了解)

    << >>
    例如:4 >> 1:将 4 的二进制向右移动1位(除以2)
    0100(4)——> 0010(2)
    理解方法:向左移一位即为乘以2,向右移一位则为除以2

    • 实例
/*
	  	测试位运算符
	  */
	  public class Demo8{
	  	public static void main(String[] args){
	  		int a = 3 << 2;// 0011 ——> 1100(12)
	  		System.out.println(a);
	  		
	  		int b = 4 >> 2;// 0100 ——> 0001(1)
	  		System.out.println(b);
	  	}
	  }
  • 三元运算符(三目运算符)

    格式:
    布尔表达式 ?表达式一 :表达式二;
    例如:
    a > b ? a : b ;
    先判断a>b是否为真
    真:返回a
    假:返回b

    • 实例
 /*
	  	测试三元运算符
	  */
	  public class Demo9{
	  	public static void main(String[] args){
	  		int a = 50;
	  		int b = 20;
	  		int c = a > b ? a : b;
	  		System.out.println(c);
	  		
	  		//练习
	  		//定义两个变量,判断两个变量是否相等
	  		int d = 50;
	  		int e = 80;
	  		boolean f = d == e ? true : false;
	  		//d == e ? true : false;一整句为一个整体
	  		System.out.println(f);
	  		
	  		//定义三个变量,求三个数中的最大值
	  		int i1 = 30;
	  		int i2 = 20;
	  		int i3 = 10;
	  		int i4 = i1 > i2 ? i1 : i2;
	  		int max = i3 > i4 ? i3 : i4;
	  		System.out.println(max);
	  	}
	  }
  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值