zoukankan      html  css  js  c++  java
  • JavaSE第02篇:Java基础语法之变量、数据类型

    本篇将会从上一篇的第一个Java程序开始,详细讲解Java的基础语法。

    由于Java基础语法内容比较丰富,为了更加高质量的、有节奏的、阶段性的讲解,我们后续将会陆续展开多篇文章讲解。

    本篇文章将会详细地主要讲解Java基础语法之常量变量数据类型数据类型转换

    第一章:注释和关键字

    在JavaSE第01篇时,我们写了第一个Java程序如下:

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

    接下来,我们将会认识到Java中的注释关键字

    1.1-注释 (理解)

    注释,顾名思义,就是解释。

    就像我们学习文言文时,文言文的译文就是注释。

    在编程中,注释对代码解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要。

    注意:程序在执行时,不会执行注释的内容。

    Java中的注释分为三种:

    1. 单行注释
    2. 多行注释
    3. 文档注释(后续文章会详细讲解)

    单行注释:单行注释的格式是使用 //,从 // 开始至本行结尾的文字将作为注释文字。

    public class HelloWorld{
        public static void main(String[]args){
            // 在命令窗口,输出“Hello World”。 单行注释
            System.out.println("Hello World!");
        }
    }
    

    多行注释:多行注释的格式是使用/**/将一段较长的注释括起来。

    public class HelloWorld{
        /*
         	多行注释
         	main方法
         	这是java程序执行的入口
        */
        public static void main(String[]args){
            System.out.println("Hello World!");
        }
    }
    

    文档注释:档注释以 /** 开始,以 */ 结束。

    关于文档注释,后续文章我们会详细讲解。

    1.2-关键字 (理解)

    关键字,顾名思义,具有特殊含义的字词

    就像月光宝盒穿越时的咒语一样,只有念波若波若蜜这个咒语才能穿越有效 。

    在编程中,我们使用编程工具编程时,可以发现有些代码的颜色比较别致,如publicclassstatic等,这些代码词就是关键字,它们是java程序中必须存在的字词,若缺失它们,代码将会无效。

    在Java编程中,关于关键字,有很多,我们后续将会逐一的认识它们。

    注意:关键字的字母全部小写。

    第二章:常量和数据类型

    万事万物,从程序的角度来看其实就是数据

    比如:我们微信聊天发送的文字、图片、语音、视频等对于计算机来说就是数据,我们上网购物所看到的商品的价格、评论、数量等对于计算机来说也是数据,我们玩的游戏如“王者荣耀”或吃鸡中的游戏人物的皮肤、生命值、攻击力、武器等对于计算机来说也是数据。

    2.1-常量 (记忆)

    常量:计算机程序运行时不会被程序修改的量(数据)。

    Java中的常量分类:

    常量类型 说明 举例
    字符串常量 双引号括起来字符(可以包含0个、一个或多个) 如:""、"HelloWorld"、"你好"
    整数常量 整数数字 如:-2、0、10
    小数常量 带有小数点的数字 如:3.14、99.9
    布尔常量 布尔值,表示真假,有且仅有两个值true和false 如:true,false
    字符常量 单引号括起来的一个字符 如:'1','a','好'
    空常量 一个特殊的值,空值,值为null 如:null

    除空常量外,其他常量均可使用输出语句直接输出。

    public class Constant{
        public static void main(String[]args){
            // 字符串常量
    		System.out.println("Hello World!");
    		// 整数常量
    		System.out.println(100);
    		// 小数常量
    		System.out.println(3.14);
    		// 字符常量
    		System.out.println('a');
    		// 布尔常量 true也是关键字
    		System.out.println(true);
    		// 布尔常量 false也是关键字
    		System.out.println(false);
    		// 空常量 null 也是关键字,不能被输出,否则编译错误
    		// System.out.println(null);
        }
    }
    

    2.2-数据类型(记忆)

    数据类型,顾名思义,就是数据的种类。

    数据为什么要区分类型呢?

    因为它们有不同的特点,适用于不同的地方。我们可以根据不同的需要,而选择类型。

    比如:

    • 我们在用程序表达一个人的身高、体重、拥有多少财富时,可以用整数或小数表示;
    • 我们用程序表达一个商品介绍时,可以用字符串来表示;
    • 我们在用程序表达一个判断时(比如:10大于4吗?),可以布尔值true或false来表达结果。
    • ......

    在Java中数据类型有哪些?

    Java是一个强类型语言,Java中的数据必须明确数据类型。在Java中的数据类型包括:

    1. 基本数据类型

    2. 引用数据类型

    本篇文章我们先学习基本数据类型,后续我们会讲解引用数据类型。

    计算机存储单元

    我们知道计算机是可以用来存储数据的。

    但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位 (bit)”,我们又称之为“比特位”,通常用小写的字母”b”表示。而计算机中最基本的存储单元叫“字节(byte)”,

    通常用大写字母”B”表示,字节是由连续的8个位组成。

    除了字节外还有一些常用的存储单位,其换算单位如下:

    • 1B(字节) = 8bit

    • 1KB = 1024B

    • 1MB = 1024KB

    • 1GB = 1024MB

    • 1TB = 1024GB

    Java中的基本数据类型

    数据类型 关键字 内存占用 取值范围
    整数类型 byte 1个字节 -128~127
    short 2个字节 -32768~32767
    int(默认) 4个字节 -2的31次方到2的31次方-1
    long 8个字节 -2的63次方到2的63次方-1
    浮点类型 float 4个字节 负数:-3.402823E+38到-1.401298E-45
    正数: 1.401298E-45到3.402823E+38
    double(默认) 8个字节 负数:-1.797693E+308到-4.9000000E-324
    正数:4.9000000E-324 到1.797693E+308
    字符类型 char 2个字节 0-65535
    布尔类型 boolean 1个字节 true,false

    注意:

    • e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方。

    • 在java中整数默认是int类型,浮点数默认是double类型。

    第三章:计算机的组成

    3.1-本章介绍(了解)

    为了更好地理解后续知识,我们需要简单了解计算机的组成部分,及一个程序从开发到运行的过程中,计算机的不同的硬件做了什么事情。

    3.2-计算机的组成部分(了解)

    计算机由两部分组成:

    • 软件
    • 硬件

    软件

    • 系统软件
      • macOS
      • linux
      • windows
    • 应用软件
      • QQ
      • 微信
      • 浏览器
      • ...

    硬件

    计算机由很多硬件组成,其中包括有硬盘、内存、cpu、屏幕、摄像头等等。我们重点来了解以下硬件的作用:

    • 硬盘
      • 存储数据,长久存储数据,计算机关机或重启时,数据依然存在。
    • 内存
      • 存储数据,临时存放程序运行中的数据,计算机关机或重启时,内存中的数据会被释放。
    • cpu
      • 处理指令、执行操作、控制时间、处理数据,比如:计算 1 + 1,cpu会计算出结果 2

    3.3-软件和硬件的关系(了解)

    第四章:变量

    4.1-为什么需要变量(理解)

    需求:在命令窗口中连续输出10个数字6,实现代码如下:

    public class HelloWorld{
        public static void main(String[]args){
    		System.out.println(6);
            System.out.println(6);
            System.out.println(6);
            System.out.println(6);
            System.out.println(6);
            System.out.println(6);
            System.out.println(6);
            System.out.println(6);
            System.out.println(6);
            System.out.println(6);
        }
    }
    

    需求变更:将输出的数字6更改为数字7。

    此时,我们会通常会把代码中10个地方输出的数字6更改为数字7。

    问题:我们可以发现,这样操作比较麻烦(若有100个地方输出6,那岂不是要更改100个地方)。

    分析:若能有一个暂存位置(标记),存放要输出的数字,若需要更改时直接修改暂存位置(标记)的数据即可。

    我把这个暂存数据的位置称为变量

    总结:在计算机中,程序运行需要对数据进行处理,而程序中的数据在运行时会存储在内存中,编程中需要频繁操作内存中的数据,为了方便操作,程序中需要通过变量名作为标识符来操作内存中相关的数据。

    4.2-什么是变量(理解)

    变量就是在内存中所分配给数据的一块空间。同时内存会为该空间指定一个内存地址。

    程序中可以通过变量名操作内存中的数据,操作包括两方面。

    • 读取数据
    • 修改数据

    为了便于理解,我们可以把内存理解为宾馆,把内存中的一块空间理解为一个房间,把房间里的物品理解为数据,把房间的门牌号理解为内存地址,把房卡理解为变量名。

    必须用房卡,才能进出宾馆中的指定门牌号房间,使用房间里的物品。

    4.3-变量的定义和使用(记忆)

    定义变量

    基本格式:数据类型 变量名 = 数据

    public static void main(String[] args) {
            /* 基本格式:数据类型 变量名 = 数据 */;
            int age = 10;
            /* 其他格式: 先定义,后赋值 */
            int num1;
            num1 = 10;
            /* 其他格式:批量定义赋值 */
            int a = 10,b = 20,c = 30;
    }
    

    使用变量

    使用方式:在程序中,直接调用变量名即可。可以通过变量名多次调用内存中数据。

    public static void main(String[] args) {
            /* 定义变量 */;
            int age = 10;
            /* 调用变量 */
            System.out.println(age); // 输出结果:10
        	System.out.println(age); // 输出结果:10
    }
    
    

    4.4-使用变量注意事项(记忆)

    1. 同一对花括号中,变量名不能重复。

    2. 变量在使用之前,必须初始化(赋值)。

    3. 定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。因为整数默认是int类型,整数太大可能超出int范围。

    4. 定义flfloat类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。因为浮点数的默认类型是double, double的取值范围是大于flfloat的,类型不兼容。

    public class Variable{
        public static void main(String[]args){
    		//【常见问题1:变量使用之前未赋值】
            int a;
    		// System.out.println(a); // 错误:在使用变量时,必须初始化变量值,变量必须赋值。
    		a = 10;
    		System.out.println(a);
    		
    		//【常见问题2:变量名不能重复】
    		// boolean a = true;      // 错误:变量名已经定义
    		// System.out.println(a);
    		
    		//【long类型数据值后加L】
    		long num1 = 3333333333333333L;
    		System.out.println(num1);
    		
    		//【float类型数据值后加F】
    		float num2 = 3.14f;
    		System.out.println(num2);
        }
    }
    

    4.5-标识符的命名规则和规范(记忆)

    标识符是用户编程时使用的名字,用于给类、方法、变量、常量等命名。

    Java中标识符的组成规则:

    • 由字母、数字、下划线“_”、美元符号“$”组成,第一个字符不能是数字。

    • 不能使用java中的关键字作为标识符。

    • 标识符对大小写敏感(区分大小写)。

    Java中标识符的命名规范:

    • 小驼峰式命名:变量名、方法名首字母小写,从第二个单词开始每个单词的首字母大写。

    • 大驼峰式命名:类名每个单词的首字母都大写。

    • 另外,标识符的命名最好可以做到见名知意

    第五章:数据类型转换

    5.1-数据类型转换(理解)

    自动转换(隐式)

    • 特点:不需要特殊的代码处理,会自动转换。

    • 规则:针对数字和字符,范围小的类型会自动转换为范围大的类型。

    • 代码:

        public static void main(String[] args) {
                /* 字节类型 */
                byte a = 10;
                /* 整型 */
                int b = a;
                // 结果:字节类型10会自动转换为int类型
        }
    

    强制转换(显式)

    • 特点:需要特殊代码处理

    • 格式:(要转换的数据类型)数据

    • 代码:

      public static void main(String[] args) {
              /* 大范围数据无法自动转换为小范围数据 */
              // int a = 20;
              // byte b = a;
              // 结果:编译错误
              /* 强制转换 */
              int a = 20;
              byte b = (byte)a;
              // 结果:转换成功
       }
    
    • 注意事项:

      • 事项:

        1. 强制转换可能会造成数据溢出。
        2. 强制转换可能会丢失精度。
      • 代码:

        public static void main(String[] args) {
                /* 数据溢出 */
                int a = 130;
                byte b = (byte)a;
                System.out.println(b);
                // 运行结果:-126
                // 原因:130超出了byte表示范围
                /* 丢失精度 */
                double pai = 3.14;
                int c = (int)pai;
                System.out.println(c);
                // 运行结果:3
                // 丢失了0.14
        }
    

    5.2-其他注意事项(了解)

    char类型的数据转换为int类型是按照码表中对应的int值进行计算的。比如在ASCII码表中,'a'对应97。

    int a = 'a'; 
    System.out.println(a); // 将输出97
    

    整数默认是int类型,byte、short和char类型数据参与运算均会自动转换为int类型

    byte b1 = 10; 
    byte b2 = 20; 
    byte b3 = b1 + b2; // 第三行代码会报错,b1和b2会自动转换为int类型,计算结果为int,int赋值给byte需要强制类型转换。 
    // 修改为: int num = b1 + b2; // 或者: byte b3 = (byte) (b1 + b2);
    

  • 相关阅读:
    asp.net 2.0 treeview控件“简单”操纵
    http://www.cnblogs.com/Terrylee/archive/2006/11/12/aspnet_ajax_quickstarts.html(ajax入门 )
    JS实面treeview中选中父节点,子节点也选中
    系统地学习ASP.NET AJAX(5) 客户端脚本编程(Sys.UI命名空间下的类和快捷方法)(转)
    图例显示投标数据
    怎么用正则表达式判断数字(包括正,负,小数。。)
    treeview常见用法
    TreeView小结
    sql split分隔
    WCF 漫谈
  • 原文地址:https://www.cnblogs.com/lpl666/p/13296708.html
Copyright © 2011-2022 走看看