java基础语法

Java基础语法

注释

注释不会执行,是写给别人看的代码说明。

Java注释又三种:

  • 单行注释

    // 注释内容

  • 多行注释

    /*
    	多行注释
    */
    
  • 文档注释

    /**
    *  文档注释
    */
    

示例:

public class HelloWord {
    public static void main(String[] args) {
        // 单行注释
        System.out.println("Hello World!");
        // 多行注释    /*  注释 */
        /*
        这是一个多行注释
         */

        // javaDoc文本注释  /**   注释  */
        /**
         * @Description Hello World
         * @Author myself
         */
    }
}

标识符和关键字

  • 关键字

    在这里插入图片描述

    Java的所有组成部分都需要名字。类名、变量名以及方法名都称为标识符。

  • 标识符的注意事项

    • 所有的标识符都应该以字母(A-Z,a-z),美元符号($),下划线(_)开头。
    • 首字符之后可以是字母(A-Z,a-z),美元符号($),下划线(_)以及数字的任意组合
    • 不能使用关键字作为方法名或者变量名
    • 大小写敏感
    • 不建议使用中文和拼音

数据类型

Java是一种强类型语言,对变量的使用要求严格,所有变量都需要先定义在使用。

Java的数据类型分为两大类

  • 基本数据类型
    • 数值类型
      • 整数类型
        • byte占1个字节,范围:-128~127
        • short占2个字节,范围:-32768~32767
        • int占4个字节,范围:-2147483648~2147483647
        • long占8个字节,范围:-9223372036854775808~9223372036854775807
      • 浮点类型
        • float占4个字节
        • double占8个字节
      • 字符类型 char占2个字节
    • boolean类型:占1位它的值只有true和false
  • 引用数据类型
    • 接口
    • 数组
// 八大基本数据类型

// 整型
byte num1 = 10;
short num2 = 30;
int num3 = 7878; // 最常用
long num4 = 8783785L; // long类型要在后面加一个L

// 小数,浮点型
float num5 = 1.1F; // float类型要在后面加一个F
double num6 = 3.141596;

// 字符类型
char n = 'A';

// 布尔类型
boolean flag1 = true;
boolean flag2 = false;

什么是字节?

  • 位(bit):是计算机内部存储的最小单位。
  • 字节(byte):是计算机中数据处理的基本单位,习惯上用B来表示。
    • 1B = 8bit
  • 字符:是计算机中使用的字母、数字、字和符号。

整数扩展:进制问题

// 整数扩展  进制
int i1 = 0b1; // 二进制 0b开头
int i2 = 010; // 八进制 0 开头
int i3 = 10;
int i4 = 0x10; // 十六进制 0x开头

//输出结果分别是:1,8,10,16

浮点数扩展:

// 浮点型扩展
// float 是一个 有限的 离散的 舍入误差的数
// 最好避免浮点数的比较  BigDecimal 数学工具类用来准确比较浮点数
float f1 = 0.1f;
double d1 = 0.1;
System.out.println(f1==d1); // false

float f2 = 323232323233f;
float f3 = f2+1;
System.out.println(f2 == f3); // true

类型转换

由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换。

在这里插入图片描述

运算中,不同数据类型先转换为同一数据类型,再进行计算。

  • 强制类型转换:(类型)变量名 高->低
  • 自动类型转换:低->高

注意点:

  1. 不能对Boolean类型进行转换
  2. 不能把对象转换为不相干的类型
  3. 在把高容量转换为低容量的时候,要进行强制值类型转换
  4. 转换的时候可能存在内存溢出,或者精度问题。
public class Demo02 {
    public static void main(String[] args) {
        //在计算大数据的时候,需要注意溢出问题
        //JDK7的新特性,数字可以用_分割
        int money = 10_0000_0000;
        int years = 20;
        int total = money * years; //-1474836480 发生了溢出
        long total2 = money * years; // -1474836480 默认是int,转换之前已经出现了问题
        long total3 = money * ((long)years); // 20000000000 先把一个数据转换为long
        System.out.println(total);
        System.out.println(total2);
        System.out.println(total3);
    }
}

变量、常量

就是可以变化的量!

  • Java是一种强类型语言,每个变量都要声明其类型。

  • Java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域。

    type varName [= value][{,varName=value}]

    // 数据类型 变量名 = 值;可以使用逗号隔开生命多个同类型变量。

    作用域:

    • 类变量
    • 实例变量
    • 局部变量

    在这里插入图片描述

  • 注意事项:

    • 每个变量都需要有类型,可以是基本类型,也可以是引用类型。
    • 变量名必须是合法的标识符。
    • 变量声明是一个完整的语句,因此每一个生命都必须以分号结束。

常量就是初始之后不会变动的值。

常量可以理解为一种特殊的变量,他被设定后在程序运行过程中不能被更改。

final 常量名 = 值;

final double PI = 3.14;

常量名一般使用大写字符。

变量的命名规范:

  1. 所有的方法名、变量名、类名:见名知意
  2. 类成员变量:首字母小写和驼峰原则 monthSalary
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线 MAX_VALUE
  5. 类名:首字母大写和驼峰原则 Man GoodMan
  6. 方法名:首字母消息和驼峰原则run() addSalary()

运算符

Java语言支持如下运算符:

  • 算术运算符:+,-,*,/,++,–,%
  • 赋值运算符:=
  • 关系运算符:> , < , >= , <= , == , != , instanceof
  • 逻辑运算符:&& , || , !
  • 位运算符:& , | , ^ , ~ , >> , << , >>> (了解)
  • 条件运算符:?, :
  • 扩展赋值运算符:+= , -=, *= , /=
public class DemoOperator {
    public static void main(String[] args) {
        // ++ -- 自增 自减运算  一元运算符
        int a = 3;
        int b = a++; // 执行这行代码后,先给b赋值,然后进行自增
        // a++   a = a+1
        System.out.println(a); // 4
        // ++a   a = a+1
        int c = ++a; // 执行这行代码前,先进行自增,然后进行赋值
        System.out.println(a); // 5
        System.out.println(b); // 3
        System.out.println(c); // 5
    }
}
// -- 相同
public class DemoOperator02 {
    // 逻辑运算符
    public static void main(String[] args) {
        // 与(and)    或(or)    非(not)
        boolean b = true;
        boolean c = false;

        // 逻辑与运算,两个都为真,结果才为真
        System.out.println("a && b:" + (b && c)); // a && b:false
        // 逻辑或运算,两个有一个为真,结果就为真
        System.out.println("a || b:" + (b || c)); // a || b:true
        // 逻辑非运算,如果为真则为假,如果为假则为真
        System.out.println("!(a || b):" + !(b && c)); // !(a || b):true

        // 短路运算
        int i = 5;
        boolean d = (i < 4)&&(i++ <4);
        System.out.println(d); // false
        System.out.println(i); // 5

    }
}
public class DemoOperator03 {
    // 位运算
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0000 1101
        -------------------
        A&B = 0000 1100
        A|B = 0011 1101
        A^B = 0011 0001
        ~B = 1111 0010

        2*8 = 16  2*2*2*2
        <<   *2
        >>   /2
        0000 0000  0
        0000 0001  1
        0000 0010  2
        0000 0011  3
        0000 0100  4
        0000 1000  8
        0001 0000  16
         */

        System.out.println(2<<3);  // 16
    }
}
public class DemoOperator04 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        a += b; // a = a+b
        a -= b; // a = a-b
        System.out.println(a);

        // 字符串连接符 +
        System.out.println(""+a+b); // 1020
        System.out.println(a+b+""); // 30

        // 三元运算符 ? :
        // x?y:z
        // 如果x为true,则结果为y,否则为z
        int score = 80;
        String type01 = score<60 ? "不及格":"及格";
        String type02 = score>=80 ? "优秀":"不优秀";
        System.out.println(type01); // 及格
        System.out.println(type02); // 优秀
    }
}

包机制

包的本质就是文件夹。

  • 一般利用公司域名倒置作为包名

    在这里插入图片描述

  • 定义包package *

  • 导入包import *

JavaDoc

  • javadoc命令是用来生成自己API文档
  • 参数信息
    • @author 作者名
    • @version 版本号
    • @since 指明需要最早使用的jdk版本号
    • @param 参数名
    • @return 返回值情况
    • @throws 抛出异常情况
    package com.kaung.base;
    
    /**
     * @author chwang
     * @version 1.0
     * @since 1.8
     */
    public class Doc {
        String name;
    
        /**
         *  test方法
         * @param name
         * @return
         * @throws Exception
         */
        public String test(String name) throws Exception{
            return name;
        }
    }
    
  • 通过命令javadoc 参数 java文件生成文档
    • javadoc -encoding UTF-8 -charset UTF-8 Doc.java
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值