欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java基础语法

程序员文章站 2022-06-22 10:48:08
...

安利良心Up主,超棒!

狂神说Java

1.注释、标识符、关键字

1.1注释

1.1.2单行注释

//输出一个HelloWorld!
System.out.println("Hello World!");

1.1.2多行注释

/*我是多行注释
我是多行注释
我是多行注释
我是多行注释
*/

1.1.3文档注释

/**
 *@Author 狂神说
 */

1.2标识符

  • 关键字

java基础语法

注意点:

  1. 标识符由字母、数字、下划线(_)或美元符号组成。
  2. 标识符的首字母以字母、下划线或美元符号开头,不能以数字开头。
  3. 标识符命名不能与关键字、布尔值(true/false)和null相同。
  4. 标识符区分大小写,没有长度限制,坚持见名知意的原则。

合法标识符:age,age_student,$money

不合法标识符:1age,%sex

2.数据类型

  • 字节

java基础语法

  • 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后使用
  • 弱类型语言:要求变量的使用要符合规定,所有变量都必须先定义后使用

数据类型拓展

  1. 八大基本类型

    • 数值类型
    1. 整数
      • byte
      • short
      • int
      • long
    2. 浮点
    3. 字符
  • boolean类型:true 和 false(只占用一个字符)
byte num1 = 10;
short num2 = 20;
int num3 = 30;
long num4 = 40L;//加L

char c = 'A';
String s = "中国我爱你";

double PI = 3.1415926;
boolean bool = true;
  1. 引用类型

java基础语法

public class Deom01 {
    public static void main(String[] args) {
        //整数拓展: 进制:
        //二进制0b 八进制0 十进制 十六进制0x
        int i = 10;
        int i2 = 010;//0~7
        int i3 = 0x10;//0~9 A~F
        System.out.println(i);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("=========================================");
        //===============================================================
        //浮点数拓展? 面试题银行业务钱怎么表示?
        //BigDecimal  数学工具类
        //===============================================================
        //float   有限 离散 舍入误差 大约 接近但不等于
        //double
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        //最好完全避免使用浮点数进行比较
        float f1 = 0.1f;//0.1
        double d1 = 1.0/10;//0.1
        System.out.println(f1 == d1);//false

        float f2 = 213165456421321f;
        double d2 = f2 + 1;
        System.out.println(f2 == d2);//true

        System.out.println("=========================================");
        //===============================================================
        //字符拓展
        //===============================================================
        char c1 = '中';
        char c2 =  'A';
        System.out.println(c1);
        System.out.println((int)c1);//强制转换
        System.out.println(c2);
        System.out.println((int)c2);//强制转换
        //所有的字符的本质还是数字   编码问题
        //编码 Unicode 2字节(0~65536) Excel 早年最长65536
        //编码表 对应(97 == a;  65 == A;)
        //Unicode U0000 UFFFF
        char c3 = '\u0061';
        System.out.println(c3);//a

        System.out.println("=========================================");
        //转义字符
        // \t 制表符
        // \n 换行
        //===============================================================
        //String
        //===============================================================
        String s1 = new String("Hello World");
        String s2 = new String("Hello World");
        System.out.println(s1 == s2);//false
        String s3 = "Hello World";
        String s4 = "Hello World";
        System.out.println(s3 == s4);//true
        System.out.println("=========================================");
        //===============================================================
        //boolean
        //===============================================================
        boolean flag = true;
        if(flag){}
        if(flag == true){}
    }
}

运行结果

java基础语法

3.类型转换

java基础语法

运算中,不同类型的数据先转换为同一类型在计算

int i = 128;
byte b = (byte)i;//内存溢出
//强制转换 高到低 强制 低到高 自动
/*
注意点:
1.不能对布尔值转换
2.不能把对象转换为不相干的类型
3.把高容量转换到低容量的时候,强制转换
4.转换的时候会出现内存溢出或者精度问题
*/
//操作比较大的数据时候,注意溢出问题;
//JDK7新特性,数字之间可以用_分割开
int money = 10_0000_0000;
int years = 20;
int total = money*year;//-1474836480,计算的时候溢出了
long total2 = money*year;//依然溢出,默认是int,转换之前已经出问题了
long total3 = money*(long)year;//true

4.变量、常量

4.1变量

  • 变量:就是可以变化的量!
  • Java是一种强类型语言,每个变量都必须声明其类型
  • Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型,作用域

作用域

  1. 局部变量:必须声明和初始化

  2. 实例变量: 从属于对象;如果不自行初始化,就为这个类型的默认值

  • 整数:0
  • 浮点数:0.0
  • boolean:false
  • 除了基本类型,其他都是null
  1. 类变量 : static

注意事项

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型
  • 变量名必须是合法的标识符
  • 变量声明是一条完整的语句,以" ; "结尾
public class Demo02 {
    //类变量  static
    static double salary;

    //属性:变量

    //实例变量:从属于对象
    String name;
    int age;
    /*通过对象变量调用实例变量
    如果不自行初始化,则为默认值
     */
    public static void main(String[] args) {
        //局部变量:必须声明和初始化
        int i = 10;
        Demo02 demo02 = new Demo02();
        System.out.println(demo02.age);
        System.out.println(demo02.name);
        //类变量
        System.out.println(salary);
    }
}

4.2常量

  • 常量:初始化之后不能再改变的值!不会变动
  • 可以看成特殊的变量,他的值被设定之后,在程序运行中不可以被改变
  • 常量名一般使用大写字符
//final 为修饰符
static final Double PI = 3.14;
final static Double PI = 3.14;

4.3变量命名规则

java基础语法

5.运算符

java基础语法

位运算符

public class Demo01 {
    public static void main(String[] args) {
        /*
        A = 0101 0010
        B = 1011 1110
        ---------------------------------
        A&B = 0001 0010
        A|B = 1111 1110
        A^B = 1110 1100
        ~A  = 1010 1101
        ---------------------------------
        2*8 怎么快速计算
        ---------------------------------
        << *2
        >> /2
        ---------------------------------
        0000 0000      0
        0000 0001      1
        0000 0010      2
        0000 0011      3
        0000 0100      4
        0000 1000      8
        0001 0000      16
        */
        //2*8 = 2*2*2*2
        //---------------------------------
        int i = 2;
        System.out.println(i<<3);
    }
}

三元运算符

public class Demo01 {
    public static void main(String[] args) {
        // x ? y : z;
        //如果x==true,返回y,否则返回z
        int score = 80;
        String type = score < 60 ? "及格" : "不及格";
        System.out.println(type);
    }
}

精简代码

6.包机制、JavaDoc

包机制(本质为文件夹)

  • 为了更好地组织类,Java提供包机制,用于区分类名的命名空间
  • 语法格式
package pkg1;
//一般利用公司域名倒置作为包名
  • 为了使用某一个包的成员,需要在java里边导入包 import
    • *导入所有类

JavaDoc

  • Javadoc命令是用来生成自己API文档的

  • 参数信息

    /**
         * @author Lee      //作者名
         * @version 1.0     //版本号
         * @since 1.8       //最早使用jdk版本
         * @return String   //返回值情况
         * @throws Excotion //异常抛出情况
         * @param args      //参数
         */
    

命令行命令生成帮助文档

javadoc -encoding UTF-8 -charset UTF-8 Doc.java
相关标签: 重学Java java