03-Java概述

粗粮可以养胃,书籍可以养气,景致可以养目,寂寥可以养心。

1. 什么是程序

程序:计算机执行某些操作或解决某个问题而编写的一系列有序指令集合

2. Java重要特点

  1. Java语言是面向对象的(oop)。

  2. Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。

  3. Java语言是跨平台性的。(一个编译好的.class文件可以在多个系统下运行,因为有JVM的存在)

  4. Java语言是解释型的。编译后的代码,不能被机器直接执行,需要解释器来执行。

3. 什么是JDKJRE

  • JDK(Java Development Kit,Java开发工具包)

JDK = JRE + java的开发工具(java,javac,javadoc,javap)

JDK是提供给Java开发人员使用的,其中包含了Java开发工具,也包含了JRE

  • JRE(Java Runtime Environment, Java运行环境)

JRE = JVM + java核心类库

如果只是想运行一个开发好的Java程序,计算机中只需要安装JRE即可。

了解即可,在实际使用中,一般都是安装一个JDK。

4. Java执行流程

5. Java中的注释类型

  1. 单行注释 //

  2. 多行注释 /* */

  3. 文档注释 /** */

6. 变量的介绍

变量是程序的基本组成单位

变量有三个基本组成要素:类型 + 名称 + 值

变量相当于内存中的一个数据存储空间的表示,可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)。

简单示例

public static void main(String[] args) {
    // 记录人的信息
    int age = 19;
    double score = 90;
    char gender = '男';
    String name = "路明非";

    // 输出信息
    System.out.println("人的信息如下:");
    System.out.println(name);
    System.out.println(age);
    System.out.println(score);
    System.out.println(gender);
}

使用注意事项

  • 变量表示内存中的一个存储区域(不同的变量、类型不同,占用的空间大小不同。比如:int 4个字节,double 8个字节)

  • 该区域有自己的名称(变量名)和类型(数据类型)

  • 变量必须先声明,后使用,有顺序

  • 该区域的数据/值可以在同一类型范围内不断变化

  • 变量在同一个作用域内不能重名

  • 变量 = 变量名 + 值 + 数据类型

7. 数据类型

每一种数据都定义了明确的数据类型,在内存中分配了不同大小的内存空间(1byte = 8bit)。

7.1 整数类型

用于存放整数值的。

byte n1 = 10; // 1个字节
short n2 = 10; // 2个字节
int n3 = 10; // 4个字节
long n4 = 10L; // 8个字节,注意后面带了 L

7.2 浮点类型 

浮点类型可以表示一个小数。尾数部分可能丢失,造成精度损失(小数都是近似值)

// Java的浮点型常量默认为 double 型,声明 float 型常量,须后加‘f’或‘F'
float num2 = 1.1F; 
double num3 = 1.1; 
double num4 = 1.1f; 

7.3 字符类型 

字符类型可以表示单个字符,char 是两个字节(可以存放汉字),多个字符用字符串String。

char c1 = 'a';
char c3 = '李';
char c4 = 97;

// 在 java 中,char 的本质是一个整数,在默认输出时,是 unicode 码对应的字符
char c1 = 97;
System.out.println(c1); // a

字符编码表介绍

  • ASCII 码介绍

美国制定的一套字符编码(使用一个字节),对英语字符与二进制位之间的关系,做了统一规定。

ASCII码一共规定了128个字符的编码,只占用了一个字节的后面7位,最前面的1位统一规定为0。

缺点是这套编码不能表示所有字符

  • Unicode编码

将世界上所有的符号都纳入其中,每一个符号都给予一个独一无二的编码,没有乱码问题。

缺点是一个英文字母和一个汉字都占用2个字节,对于存储空间来说是浪费

  • UTF-8编码

一种变长的编码方式。可以使用1-6个字节表示一个符号,根据不同的符号而变化字节长度

字母占一个字节,汉字占三个字节。

7.4 boolean类型

数据只有 true 和 false,没有null。

public static void main(String[] args) {
    //定义一个布尔变量
    boolean isPass = true;
    if(isPass == true) {
        System.out.println("考试通过,恭喜");
    } else {
        System.out.println("考试没有通过,下次努力");
    }
}

8. 基本数据类型转换

8.1 自动类型转换

当Java程序在进行赋值或者运算时,精度小的类型自动转换为精度大的数据类型,这个就是自动类型转换。

数据类型按精度大小排序

  1. boolean:不是数值类型,可以认为它没有具体的范围
  2. byte:范围从 -128 到 127
  3. short:范围从 -32,768 到 32,767
  4. char:范围从 0 到 65,535(代表16位Unicode字符)
  5. int:范围从 -2,147,483,648 到 2,147,483,647
  6. float:大约范围从 1.4E-45 到 3.4E+38,但精度有限
  7. long:范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
  8. double:大约范围从 4.9E-324 到 1.8E+308,但精度同样有限

尽管 char 在数值范围上比 short 大,但在Java的类型系统中,char 并不被认为是一个数值类型,而是一个字符类型,所以通常不直接参与数值类型的转换排序。在数值比较和转换时,通常将 char 转换为 int(其Unicode值),而不是直接与其他数值类型比较或转换。 

有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。

8.2 强制类型转换

自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(),但可能会造成精度降低或者溢出,格外要注意。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值