Java的基本规则和基本数据类型

Java程序的基本规则

  • Java的类文件是Java程序的最小单位,一个Java项目包含若干个类文件

  • Java类的文件名和类名要保持一致,类首字母大写,使用驼峰命名法,命名方法为 Hello World,扩展名为java

  • main方法是Java程序运行的入口(开始),main方法的名称、参数、前面的修饰符都是固定的

    (public static void main(String[] args){ })

  • 每条(行)语句都是以分号结束

  • 方法名、变量名、属性名都是以小写字母开头,后面的首字母大写,也是使用驼峰命名方法,目的是与类区分开

Java的组成成分

分隔符号

  • ; 分号 语句结束的标志
  • { } 大括号 都是成对出现,用在类、方法、判断和循环语句中,把多条语句作为一个整体(代码块)
  • ( ) 小括号 方法的定义和调用,以及运算表达式的优先级
  • [ ] 中括号 用于数组,通常在数组名之后出现
  • . 圆点 用于对象的属性或方法的调用
  • “ ” 双引号 用于字符串 直接输出内容(字符串)
  • ‘ ’ 单引号 用于字符 直接输出内容(单个字符)
  • ​ 空格 用于分隔标识符和关键字

标识符

类、方法、属性、变量的名称

命名规则:

  1. 必须以字母、下划线(_)、美元符号($)开头
  2. 除首字母之外可以用字母、数字、下滑线、美元符号
  3. 不能跟关键字重名
  4. 区分大小写
  5. 不建议使用中文

关键字

Java中表示特定意义的单词(Java的关键字都是小写的),Java中有以下关键字:

  • 48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while

    在这里插入图片描述

    • 访问修饰符的关键字(共3个)

    在这里插入图片描述

    • 定义类、接口、抽象类和实现接口、继承类的关键字、实例化对象(共6个)
      在这里插入图片描述

    • 包的关键字(共2个)

在这里插入图片描述

  • 数据类型的关键字(共12个)

在这里插入图片描述

  • 条件循环(流程控制)(共12个)

在这里插入图片描述

  • 修饰方法、类、属性和变量(共9个)

在这里插入图片描述

  • 错误处理(共5个)
    在这里插入图片描述

  • 其他(共2个)

在这里插入图片描述

  • 2个保留字(Java语言的的保留字是指预留的关键字):goto、const

    • const 释义:n. 常量,常数

      用于修改字段或局部变量的声明。它指定字段或局部变量的值是常数,不能被修改

  • goto 释义:vi. 转到

    指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。

  • 3个特殊直接量:true、false、null

注释

注释是代码中用于帮助程序员理解或者记忆代码的内容;暂时不用的代码也可以注释掉。

注意:注释的内容会被编译器忽略

  • // 单行注释

    快捷键:Ctrl + / 注释和取消相同

  • /*

    */ 多行注释 中间…为注释内容

    快捷键:Ctrl + Shift + / 注释和取消相同

  • /**

    */ 文档注释 中间…为注释内容

    快捷方式:/**回车

    用于类、方法上的注释,能导出为API文档

JDK API 相关知识

API:应用程序的接口

JDK API 文档地址:

官方英文:https://docs.oracle.com/javase/8/docs/api/

中文:https://tool.oschina.net/apidocs/apidoc?api=jdk-zh

IDEA导出文档注释为AP文档

  1. 创建一个目录存放API文档。比如:桌面上创建一个myapi目录

  2. 点击tools->generate JavaDoc.…

在这里插入图片描述

  1. 设置

在这里插入图片描述

  1. 点击ok,导出文档

变量

方便访问内存中的数据起的一个程序员容易记忆和理解的名字(代替计算机内存中的地址)

定义变量

语法: 类型 变量名;

​ 类型 变量名 = 初始化的值

​ 类型 变量名, 变量名

String stuName = "张三"; //=是赋值的意思,  把张三字符串赋给stuName这个变量
int stuAge = 22;
int i; //定义变量,不赋值(没有初始化)
int m, n;//一次定义多个变量,用逗号分割,多个变量必须是相同类型
int a = 3, b = 2; //一次定义多个变量,也可以在定义的同时赋值 

变量初始化

可以在定义变量的时候初始化,也可以先定义在初始化

public class hello {
    public static void main(String[] args) {
		String stuName = "张三";
        String stuSex = "男";
        int stuAge = 21;
        int a = 12;
        int b;
        b = 15;
        System.out.println(stuName);
        System.out.println(stuAge);
        System.out.println(stuSex);
        System.out.println(a);
        System.out.println(a+b);
    }
}

变量的赋值和使用

System.out.println("学生的姓名:" + stuName); //+字符串的拼接
System.out.println("学生的年龄:" + stuAge);  //字符串和数字相加,也是拼接
System.out.println(i + j); //两个数字相加, 是加法运算

int k;
k = i; //给变量赋值可以用另外一个变量
k = 3 + 2; //变量赋值还可以用表达式
k = i - j;  //变量赋值可以变量参与的表达式
System.out.println(k); //-2,  int类型叫整形, 包括正整数,0, 负整数

注意

  • 在同一个作用域不能重复定义变量

  • 变量在使用前必须初始化(赋值)

练习:判断以下变量命名是否合法

int 123;   //错误,变量不能用数字开头
int _123;  //正确,一下划线开头
int $123;  //正确,$开头
int _$;    //正确,不推荐,无意义
int $;     //正确,不推荐,无意义
int abc_134;  //正确
int a$1;     //正确
int _#$%;   //错误,变量不能包含除_、$之外的特殊符号
int 华清远见; //正确,语法没有问题,但是不推荐
int StuName; //正确,但不符合命名规范,应改为  int stuName;
int stuname; //正确,但不符合命名规范,应改为  int stuName;

Java的基本数据类型

在这里插入图片描述

:一个字节长度占8位

整形

  • byte 字节型

    • 占一个字节长度,取值范围 -27 ~ 27-1 (-128~127)

      public class DataType {
          public static void main(String[] args) {
             // byte类型的使用
              byte b1=10;
              System.out.println(b1);
             // byte b2=-129;//超过范围,报编泽异常
             // byte b3=128;//超过范用,报编译异常
              System.out.println(b1);
          }
      }
      
  • short 短整型

    • 占两个字节长度,取值范围 -215 ~ 215-1 (-32768~32767)

      // byte类型的使用
      short b1=-1000;
      // short=-32769;//超过范围,报编泽异常
      // short b3=32768;//超过范用,报编译异常
      System.out.println(b1);
      
  • int 整形

    • 占四个字节长度,取值范围 -231 ~ 231-1 (-2147483648~2147483647)

    • int的十进制数只有10位长度,不能存放手机号码

      // int类型的使用
      int a1=4000;
      // int a2=-2147483649;//超过范围,报编泽异常
      // int a3=2147483648;//超过范用,报编译异常
      System.out.println(a1);
      
  • long 长整型

    • 占八个字节,取值范围 -263 ~ 263-1 19位的十进制

      // long类型的使用
      long l1=4000;
      System.out.println(l1);
      long l2=-1598754655455555577l;
      //给long赋值的时候如果超过int的取值范围必须在最后加l,没超过的话可加可不加
      // long l3=2147483648;//超过范用,报编译异常
      System.out.println(l2);
      //当前时间的时间戳(相对于1970.1.10时过去了多少毫秒)
      System.out.println(System.currentTimeMiZllis());
      

注意:给整数赋值可以用十进制、八进制、十六进制

//java里可以用十进制、八进制、十六进制给整数赋值
int f = 100;   //十进制
System.out.println(f);
f = 0144;      //八进制,以0开头为八进制
System.out.println(f);
f = 0x64;     //十六进制,以0x开头为十六进制
System.out.println(f);

浮点型(小数型)

  • float

    • 占四个字节 8位表示指数,23位表示底数位数 取值范围 10-38 ~ 1038 和 -1038 ~ -10-38

      //float类型的使用
      float f1 = 3.1415F; //Java里直接写一个小数,默认为 float类型
      System.out.println(f1);
      float f2 = 3.1F;
      System.out.println(f1*f2);
      
  • double

    • 占八个字节 取值范围 10-308 ~ 10308 和 -10308 ~ -10-308

注意:Java里浮点数运算可能会损失精度(结果不精确),在实际项目中如果用到小数的运算(比如财务系统),建议使用BigDecimal

字符型

  • char

    • 字符用16位的unicode编码,可以表示各国语言文字

    • 字符的标识方式

      • 用单引号括起来

      • 用unicode编码,格式 ‘\uxxxx’ ,中文汉字在unicode中的范围4E00~9FA5

      • 用数字来标识字符

         char a = 97; //常见的英文字符都对应一个数字编码,所以可以用数字给char类型赋值
            System.out.println(a);
        
      • 用转义符表示特殊字符

        \"双引号
        \’单引号
        \n换行
        \r回车

      | \t | 制表符 |
      | \\ | 反斜杠 |

      //字符的使用
              char c1='a';
              System.out.println(c1);
              char c2 = '家';
              System.out.println(c2);
              char c3 = '\u4E01';
              System.out.println(c3);
              System.out.println("他说:\"你好\"。");
              System.out.println("\"。");//双引号
              System.out.println("\'");//单引号
              System.out.println("\n");//换行
              System.out.println("\r");//回车
              System.out.println("\t");//制表符,补齐四个空格
          System.out.println("\\");//反斜杠       
      
      • ascii码表规定每个字符对应的数字:

        [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KthKoiou-1659345962034)(E:\Desktop\JavaEE笔记\02java基础第二天.assets\QQ图片20220721170419.jpg)]

布尔型

  • boolen

    • 占1位长度,只有两种值:true和fals,不能用数字给boolean类型赋值

    • 一般用于判断或循环语句判断条件

      //boolean类型的使用
       boolean b2 = true;
       boolean b3 = false;
       System.out.println(b2);
       System.out.println(b3);
      

基本类型相互转换

自动转换

在这里插入图片描述

  • char不能自动转为short

  • byte不能自动转为char

  • 任何的基本类型都可以跟字符串进行拼接

     //自动类型转换
            byte by1 =10;
            short s1 = by1;
            int i1 = s1;
            System.out.println(s1);
            char c1 = 'a';
            i1 = c1;
            System.out.println(i1);
            long l1 = i1;
            System.out.println(l1);
            float f1 = l1;
            System.out.println(f1);
            double d1 = f1;
            System.out.println(d1);
    

强制转换

  • 长度大的数据类型转小的类型不能自动转换,要用强制转换

  • 小数转整数,会去掉小数

  • 如果强转超过类型所能表示的范围,可能会出现不可预知的结果

    //强制类型转换
            double a = 3.14;
            float b = (float) a;
            System.out.println(b);
            long l2 = (long)b;
            System.out.println(l2);
            int i2 = (int)l2;
            System.out.println(i2);
            char c2 = (char)i2;
            System.out.println(c2);
            short s2 = (short) c2;
            System.out.println(s2);
            byte b3 = (byte) s2;
            System.out.println(b3);
    
            int i3=169;
            //超过目标类型范围的强制类型转换要谨慎,可能出现不可预料的结果
            byte b4 =(byte) i3;
            System.out.println(b4);//结果是-87
    
     System.out.println(l2);
        int i2 = (int)l2;
        System.out.println(i2);
        char c2 = (char)i2;
        System.out.println(c2);
        short s2 = (short) c2;
        System.out.println(s2);
        byte b3 = (byte) s2;
        System.out.println(b3);
    
        int i3=169;
        //超过目标类型范围的强制类型转换要谨慎,可能出现不可预料的结果
        byte b4 =(byte) i3;
        System.out.println(b4);//结果是-87
    
    
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值