写点什么

零基础学 Java 第一节 (语法格式、数据类型)

作者:编程攻略
  • 2022 年 5 月 16 日
  • 本文字数:3856 字

    阅读完需:约 13 分钟

零基础学Java第一节(语法格式、数据类型)

本篇文章是《零基础学 Java》专栏的第一篇文章,从本篇文章开始,将会连更本专栏,带领大家将 Java 基础知识彻底学懂,文章采用通俗易懂的文字、图示及代码实战,从零基础开始带大家走上高薪之路!

第 1 章 Java 概述

1.1 Java 语言发展史

  • Java 语言发展史

  • 詹姆斯·高斯林(James Gosling)1977 年获得了加拿大卡尔加里大学计算机科学学士学位,1983 年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到 IBM 工作,设计 IBM 第一代工作站 NeWS 系统,但不受重视。后来转至 Sun 公司,1990 年,与 Patrick,Naughton 和 Mike Sheridan 等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为 Java。


SUN(Stanford University Network,斯坦福大学网络公司)


1.2 跨平台原理

  • 平台:指的是操作系统(Windows,Linux,Mac)

  • 跨平台:Java 程序可以在任意操作系统上运行,一次编写到处运行

  • 原理:实现跨平台需要依赖 Java 的虚拟机 JVM (Java Virtual Machine)


1.3 JVM、JRE、JDK

  • 什么是 JVM

  • JVM 是 java 虚拟机(JVM Java Virtual Machine),java 程序需要运行在虚拟机上,不同平台有自己的虚拟机,因此 java 语言可以跨平台。

  • 什么是 JRE

  • 包括 Java 虚拟机(JVM Java Virtual Machine)和 Java 程序所需的核心类库等如果想要运行一个开发好的 Java 程序,计算机中只需要安装 JRE 即可。

  • <mark>JRE=JVM+类库</mark>

  • 什么是 JDK

  • JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE。所以安装了 JDK,就不用在单独安装 JRE 了。

  • 其中的开发工具:编译工具(javac.exe)、打包工具(jar.exe)等

  • <mark>JDK=JRE+JAVA 的开发工具</mark>

  • JDK,JRE,JVM 的作用和关系

  • JRE 包含:核心类库和 JVM

  • JDK 包含:JRE 和开发工具包

第二章 语法格式

2.1 注释

2.1.1 注释概览

  • 什么是注释

  • 用于解释说明程序的文字

  • Java 中注释分类

  • 单行注释,格式: //注释文字

  • 多行注释,格式: /* 注释文字 */

  • 文档注释,格式:/** 注释文字 */

  • 注释的作用

  • 解释说明程序

  • 帮助我们调试错误

2.1.2 代码实战

/* * 注释:用于解释说明程序的文字 *  * 分类: *     单行 *     多行 *  * 作用:解释说明程序,提高程序的阅读性。 */
//这是我的HelloWorld案例,class用于定义类。public class HelloWorld { /* * 这是main方法 * main方法是程序的入口方法 * 所有程序的执行都是从main方法开始的 */ public static void main(String[] args) { //这是输出语句。 System.out.println("公众号【编程攻略】,专注于计算机基础知识的讲解"); }}
复制代码

2.2 关键字

2.2.1 关键字概述

  • 被 Java 语言赋予特定含义的单词

2.2.2 关键字特点

  • 常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观,所以我们不需要去死记硬背,在今后的学习中重要的关键字也会不断的出来。

2.2.3 代码实战

public class KeyWordDemo {  public static void main(String[] args) {    System.out.println("HelloWorld");  }
复制代码


2.3 常量

2.3.1 常量概述

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

2.3.2 常量分类

  • 字符串常量:用双引号括起来的内容(“HelloWorld”)

  • 整数常量:所有整数(12,-23)

  • 小数常量:所有小数(12.34)

  • 字符常量:用单引号括起来的内容(‘a’,’A’,’0’)

  • 布尔常量:较为特有,只有 true 和 false

  • 空常量:null

2.3.3 代码实战

public class ChangLiang {  public static void main(String[] args) {    //字符串常量    System.out.println("HelloWorld");        //整数常量    System.out.println(12);    System.out.println(-23);        //小数常量    System.out.println(12.34);        //字符常量    System.out.println('a');    System.out.println('0');        //布尔常量    System.out.println(true);    System.out.println(false);  }}
复制代码

2.4 变量

2.4.1 变量概述

  • 在程序执行的过程中,在某个范围内其值可以发生改变的量

  • 从本质上讲,变量其实是内存中的一小块区域

2.4.2 变量定义格式

  • 数据类型 变量名 = 初始化值;


格式是固定的,记住格式,以不变应万变。

2.5 数据类型

2.5.1 计算机存储单元

变量是内存中的小容器,用来存储数据。那么计算机内存是怎么存储数据的呢?无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位”,通常用小写的字母 b 表示。而计算机最小的存储单元叫“字节(byte)”,通常用大写字母 B 表示,字节是由连续的 8 个位组成。


除了字节外还有一些常用的存储单位,大家可能比较熟悉,我们一起来看看:


  • 1B(字节) = 8bit

  • 1KB = 1024B

  • 1MB = 1024KB

  • 1GB = 1024MB

  • 1TB = 1024GB

2.5.2 数据类型概述和分类

  • 为什么有数据类型

  • Java 语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。

  • Java 中数据类型的分类

  • 基本数据类型

  • 引用数据类型

2.6 标识符

2.6.1 标识符概述

  • 作用

  • 给包,类,方法,变量等起名字

  • 组成规则

  • 由字符,下划线_,美元符 $组成

  • ::: block-1 这里的字符采用的是 unicode 字符集,所以包括英文大小写字母,中文字符,数字字符等。:::

  • 注意事项

  • 不能以数字开头

  • 不能是 Java 中的关键字

  • 命名原则:见名知意

  • 最好是域名倒过来,要求所有的字母小写

  • 类或者接口

  • 如果是一个单词,首字母大写

  • 如果是多个单词,每个单词首字母大写(驼峰标识)

  • 方法或者变量

  • 如果是一个单词,全部小写

  • 如果是多个单词,从第二个单词首字母大写

  • 常量

  • 如果是一个单词,所有字母大写

  • 如果是多个单词,所有的单词大写,用下划线区分每个单词

2.6.2 代码实战

public class IdentifierDemo {  public static void main(String[] args) {    //数据类型 变量名 = 初始化值;    int age = 20;        //不能以数字开头        //正确写法    //int b2 = 30;        //错误写法    //int 2b = 30;        //不能是java中的关键字    //int class = 40;  }}
复制代码

2.7 定义变量

2.7.1 基本数据类型变量的定义和使用

  • 变量的定义格式:

  • 数据类型 变量名 = 初始化值;

  • 基本数据类型:

  • byte,short,int,long,float,double,char,boolean


整数默认是 int 类型,定义 long 类型的数据时,要在数据后面加 L。浮点数默认是 double 类型,定义 float 类型的数据时,要在数据后面加 F。

2.7.2 代码实战

public class VariableDemo {  public static void main(String[] args) {    //byte类型的变量    byte b = 10;    System.out.println(10);    System.out.println(b);        //short类型的变量    short s = 100;    System.out.println(s);        //int类型的变量    int i = 1000;    System.out.println(i);        //long类型的变量    //long l = 10000;    //System.out.println(l);    long l = 10000000000L;    System.out.println(l);        //float类型的变量    float f = 12.34F;    System.out.println(f);        //double类型的变量    double d = 12.34;    System.out.println(d);        //char类型的变量    char ch = 'a';    System.out.println(ch);        //boolean类型的变量    boolean bb = true;    System.out.println(bb);  }}    //定义boolean类型的变量    boolean bb = false;    System.out.println(bb);  }}
复制代码

2.7.3 变量定义的注意事项

  • 变量未赋值,不能直接使用

  • 引出变量的第二种使用格式

  • 变量只在它所属的范围内有效。

  • 变量在哪对大括号内,变量就属于哪对大括号

  • 一行上可以定义多个变量,但是不建议

2.7.4 代码实战

public class VariableDemo2 {  public static void main(String[] args) {    //定义一个变量    int a = 10;    System.out.println(a);        int b;    b = 20;    System.out.println(b);        {      //代码块      int c = 30;      System.out.println(c);    }    //System.out.println(c);    System.out.println(b);            /*    int aa,bb;    aa = 10;    bb = 20;    System.out.println(aa);    System.out.println(bb);    */    int aa = 10;    int bb = 20;    System.out.println(aa);    System.out.println(bb);  }}
复制代码

2.8 数据类型转换

2.8.1 隐式数据类型转换

取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,再运算。

2.8.2 代码实战

public class ConversionDemo {  public static void main(String[] args) {    //定义两个int类型的变量    int a = 10;    int b = 20;    System.out.println(a+b);    //我可以把a+b的结果进行输出,说明这个计算的结果是没有问题的    //那么,我应该也可以把这个结果接收一下。    int c = a + b;    System.out.println(c);    System.out.println("-----------------");        //定义两个变量,一个int类型,一个byte类型    int aa = 10;    byte bb = 20;    System.out.println(aa+bb);    //下面这种写法报错了    //byte cc = aa+bb;    int cc = aa + bb;    System.out.println(cc);  }}
复制代码

2.8.3 强制类型数据转换

强制转换的格式:


目标类型 变量名=(目标类型)(被转换的数据);


强制转换的注意事项:如果超出了被赋值的数据类型的取值范围得到的结果会与你期望的结果不同。

2.8.4 代码实战

public class ConversionDemo2 {  public static void main(String[] args) {    //定义两个变量,一个int类型,一个byte类型    int a = 10;    byte b = 20;    int c = a + b;    System.out.println(c);        byte d = 30;    byte e = (byte)(a + b);    System.out.println(e);  }}
复制代码


发布于: 刚刚阅读数: 2
用户头像

编程攻略

关注

还未添加个人签名 2022.05.08 加入

还未添加个人简介

评论

发布
暂无评论
零基础学Java第一节(语法格式、数据类型)_java_编程攻略_InfoQ写作社区