day01

JAVA介绍

JAVA语言的特点

  1. 面向对象
      Java 是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。为了简单起见,Java 只支持类之间的单继承,但是可以使用接口来实现多继承。
  2. 平台无关性
      平台无关性的具体表现在于,Java 是“一次编写,到处运行(Write Once,Run any Where)”的语言,因此采用 Java 语言编写的程序具有很好的可移植性,而保证这一点的正是 Java 的虚拟机机制。在引入虚拟机之后,Java 语言在不同的平台上运行不需要重新编译。
  3. 简单性
      对 Java 来说,它舍弃了很多 C++ 中难以理解的特性,如操作符的重载和多继承等,而且 Java 语言不使用指针,加入了垃圾回收机制,解决了程序员需要管理内存的问题,使编程变得更加简单。
  4. 解释执行
      Java 程序在 Java 平台运行时会被编译成字节码文件,然后可以在有 Java 环境的操作系统上运行。在运行文件时,Java 的解释器对这些字节码进行解释执行,执行过程中需要加入的类在连接阶段被载入到运行环境中。
  5. 多线程
      Java 语言是多线程的,这也是 Java 语言的一大特性,它必须由 Thread 类和它的子类来创建。Java 支持多个线程同时执行,并提供多线程之间的同步机制。任何一个线程都有自己的 run() 方法,要执行的方法就写在 run() 方法体内。

JDK,JRE,JVM

在这里插入图片描述

  1. JDK解释
      JDK(Java Development Kit)是一个提供开发和执行(运行) Java程序环境的工具包。JDK 是一个工具包(或包),包括两个东西:开发工具(提供开发Java程序的环境)和JRE(执行您的JAVA程序)。
  2. JRE解释
      JRE(Java Runtime Environment)是一个安装包,它提供了一个环境,只在你的机器上运(而不是开发) java程序(或应用程序)。JRE 仅供那些只想运行作为系统最终用户的 Java 程序的人使用。
  3. JVM解释
      JVM(Java 虚拟机) 是 JDK 和 JRE 的一个非常重要的部分,因为它包含或内置在两者中。无论你使用 JRE 还是 JDK 运行的 Java 程序都会进入 JVM,而 JVM 负责逐行执行 Java 程序,因此它也被称为解释器。

基本数据类型

八个基本数据类型

在这里插入图片描述
  整数类型:byte,1字节,8位,最大存储数据量是255,存放的数据范围是-128~127之间。
  整数类型:short,2字节,16位,最大数据存储量是65536,数据范围是-32768~32767之间。
  整数类型:int,4字节,32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
  整数类型:long,8字节,64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
  浮点类型:float,4字节,32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
  浮点类型:double,8字节,64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
  字符型:char,2字节,16位,存储Unicode码,用单引号赋值。
  布尔型:boolean,只有true和false两个取值

数据类型的转换

  1. 从小到大自动类型转换
  2. 从大到小需要强制类型转换,可能会丢失精度(装水的杯子大小不一样),byte->short(char)->int->long->float->double

运算符

单目运算符

  ++,- -,

双目运算符

   +,-,*,/等;

三目运算符

  ?:

今日作业

闰年判断

public void JudgeLeapYear(){
        Scanner cin  = new Scanner(System.in);
        int year = cin.nextInt();
        if(year%400==0||(year%100!=0&&year%4==0)){
            System.out.println(year+"年是闰年");
        }else{
            System.out.println(year+"年不是闰年");
        }
    }

交换两个数的值

 public void ExchangeValue(){
        Scanner cin = new Scanner(System.in);
        int num1 = cin.nextInt();
        int num2 = cin.nextInt();
        System.out.println("没有交换时num1为"+num1+",num2为"+num2);
        int temp = num1;
        num1 = num2;
        num2 = temp;
        System.out.println("交换后的num1为"+num1+",num2为"+num2);
    }

收银台程序

  编写一个收银台收款程序,if定义输入----单价、数量、用户输入金额定义输出----应收金额、找零使用double类型变量 scanner.nextDouble();3.2、当总价>=500时候打八折3.3、考虑程序出现异常的情况,如:收款金额小于应收金额 若收款金额大于等于应收金额,则计算找零后输出 若收款金额小于应收金额,输出错误信息。

public void cash(){
        Scanner cin = new Scanner(System.in);
        System.out.println("请输入商品单价:");
        double singleMoney = cin.nextDouble();
        System.out.println("请输入商品数量:");
        int number = cin.nextInt();
        System.out.println("请输入用户付款金额:");
        double money = cin.nextDouble();
        double total = number*singleMoney;
        if(total > money){
            System.out.println("用户所付金额不足以支付所购买的商品");
        }else{
            if(total >= 500*1.0){
                System.out.println("为用户找零:"+ (money-total)*0.8);
            }else{
                System.out.println("为用户找零:"+(money - total));
            }
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值