3、Java基础语法篇

Java基础语法

1、IDEA使用

目前我们使用:新建一个Empty proj -File–新建一个module—new class

前提:有个要修改的: file–project Structure

在这里插入图片描述
image-20201024151344272

2、注释

  1. 单行

  2. 多行

  3. 文档

    Javadoc时候使用

 		//单行注释
        /*
        多行注释
        多行注释
         */
        /**javadoc文档注释
         * @Description:jiang
         * #Date:2020-10-24
         */

3、标识符

  1. 关键字

大小写十分敏感

说明:   **大小写十分敏感**
1、所有的标识符都只能以字母、美元符、¥、下划线开头
2、首字符之后可以是字母、美元符、下划线和数字的任何组合,不能使用% # 等
3、不能命名为关键字

4、数据类型

Java是强类型语言

1、强类型语言:所有变量使用要求经过严格的规定,所有变量必须先定义后才能使用
2、弱类型语言:
3、Java的数据类型分两大类:
(1)基本类型(primitive type):数据类型(整数型、浮点型、字符型)、布尔型
(2)引用类型(reference type):类、接口、数组

练习:
       //八大基本数据类型
        //整数
        int bum1=10;    //4字节
        byte num2=20;    //1字节
        short num3=30;    //2字节
        long num4 = 5555L;    //8字节

        //小数、浮点数
        float num6 = 23.23f;   //4字节
        double num5=34453.23432543543654657;   //8字节

        //字符
        char name='A';   //2字节
        String name2= "jianghzuohao";
        //字符串不是关键字,是类  使用变量用 “”  char使用‘’

        //布尔值:代表是非
        boolean flag=true;   //1位
        boolean flag2=false;

科普:字节和位
	位(bit):计算机内部数据存储的最小单位,10111100是一个八位的二进制
	字节(byte): 是计算机中 处理数据的基本单位,习惯上用B表示
	1B=8bit
	字符:是指计算机中使用的数字、字母、符号和字
	1G=1024M=1024*1024KB=1024*1024*1024B=1024*1024*1024*8bit
  1. 扩展(面试题)

    //整数拓展:进制  二进制0b   十进制  八进制0   十六进制 0x
    int i = 10;
    int i2 =010;
    int i3 =0x10;
    System.out.println(i);
    System.out.println(i2);
    System.out.println(i3);
    System.out.println("===================================");
    //==================================================================================
    //浮点数扩展? 银行业务怎么表示?钱
    //BigDecimal 数据工具类,少用浮点数比较,如果要进行计算且不能有误差,就用BigDecimal类(面试题)
    //==================================================================================
    // float 有限 离散 舍入误差 大约 接近但不等于
    //double
    //最好不要使用浮点数进行比较
    
    float f = 0.1f;
    double d = 1.0/10;
    System.out.println(f==d);   //false
    System.out.println(f);
    System.out.println(d);
    
    //==================================================================================
    //字符扩展?
    //所有字符本质还是数字
    //编码:Unicode 2字节 0-65536
    //==================================================================================
    char c1='a';
    char c2='中';
    System.out.println("===================================");
    System.out.println(c1);
    System.out.println((int)c1);    //强制转化
    System.out.println(c2);
    System.out.println((int)c2);    //强制转化
    // U0000 UFFFF
    char c3='\u0063';
    System.out.println(c3);
    //转义字符
    //   \t制表符  \n换行  等等
    
    //交流及以后学习到的知识提前体验
    //对象,从内存分析
    System.out.println("===================================");
    String sa= new String("Hello");
    String sb = new String("Hello");
    System.out.println(sa==sb);   //false
    String sc="Hello";
    String sd="Hello";
    System.out.println(sc==sd);   //true
    
    //布尔值扩展
    boolean flag1 = true;
    if (flag1){   //老手程序员
    
    }
    if (flag1==true){   //新手程序员
    
    }
    

5、类型转化

  1. -------------------------------byte,short,char->int->long->float->double
        注意点:
            1、不能对布尔类型转化
            2、不能把对象类型转换成不想干的类型
            3、高转低的时候要进行轻质转化
            4、转化时候要小心内存溢出问题,或者精度问题
     
             int i=128;
             byte b = (byte)i;   //内存溢出
            // 强制类型转化  高-->低
            System.out.println(i);
            System.out.println(b);
            //自动类型转换  低到高
            double d =i;
            System.out.println(d);
    
  2. //操作比较大多数时候,要注意内存溢出
    //JDK7新特性,数字之间可以用_分割
    int money = 10_000_000;
    System.out.println(money);
    
    //常见错误
    int money1 = 10_0000_0000;
    int year = 20;
    int total = money1 * year;     //内存溢出 -1474836480
    long total1 = money1 * year;   //默认int,转化前就已经出现内存溢出问题了(细节)
    System.out.println(total1);
    long total2 = money1 * (long)year;      //先把其中一个转化之后在进行转化就正常了 20000000000
    System.out.println(total2);
    

6、变量

知识要点

/**
 * 变量&常量
 *
 * 变量:可以变化的量
 * Java是一种强类型语言,每个变量都必须进行声明
 * Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型以及作用域
 *
 * 重点:作用域
 *   类变量
 *   实例变量:从属于对象
 *   局部变量
 *
 * 常量:初始化后不能再改变的值
 * final 常量名=值
 * 常量名一般用大写
 *

 *
 */
  • 变量/常量命名规范
  • 所有变量、方法、类名:见名知意
  • 类成员变量、局部变量:首字母小写的驼峰原则 monthSalary
  • 常量:大写字母和下划线,例如:FIRST_NAME
  • 类名:首字母大写的驼峰原则:Man,GoodMan
  • 方法名:首字母小写的驼峰原则:runRun()

Demo:

//属性:变量
static int allClicks=0;   //类变量
String str= "hello";   //实例变量

static  double salary=2500;   //只有是类变量,才能不引用对象直接使用,这里把static去了后就下面使用就报错了


String name;
int age;
int money=100000000;
//实例变量:从属于对象,如果不自行初始化,可以使用但是默认值  数字是0或者0.0
//布尔值:默认位false
//除了基本类型,其他默认值是null

//常量 final 修饰符无先后顺序之分--静态常量
static final double PI=3.1415926;

//main 方法
public static void main(String[] args) {

    //局部变量
    int i=1000;    //局部变量
    System.out.println(i);

    //实例变量
    Demo04 demo04 = new Demo04();
    System.out.println(demo04.age);    //默认值:0
    System.out.println(demo04.name);    //默认值:null
    System.out.println(demo04.money);    //100000000

    //类变量 static
    System.out.println(salary); //只有是类变量,才能不引用对象直接使用,这里把static去了后就下面使用就报错了

    //常量 final
    System.out.println(PI);
}


//其他方法
public  void  method(){

}

7、Java运算符

知识点:

/***
 * 运算符
 * Java支持的运算符: 
 * 算术运算符:+ - * / % ++ --
 * 赋值运算符:=
 * 关系运算符:> < >= <= == != instanceof
 * 逻辑运算符:%% || !
 * 位运算符:& | …… ~ >> << >>>
 * 条件运算符:  ?:
 * 扩展赋值运算符: +=  -=  *=  /=
 */

Demo:

//二元运算
int a = 10;
int b = 20;
int c = 30;
int d = 25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
System.out.println(d/a);   //取模 2
System.out.println(d%a);   //取余  5
System.out.println("========================");


//扩展 加法的类型
long e = 123242343234L;
int f = 200;
short g = 10;
byte h = 50;
double m =90.30;
System.out.println(e+f+g+h);  //long类型
System.out.println(f+g+h);   //int
System.out.println(g+h);  //int
System.out.println(m+e+g+h);  //double
System.out.println("========================");

//关系运算符:返回结果:正确、错误  布尔值

// a++:先复制再自增
// ++a:先自增再赋值

//Math类
double pow =Math.pow(2,3);
System.out.println(pow);


//位运算
		A = 0011 1100
        B = 0000 1101

        A&B = 0000 1100
        A|B = 0011 1101
        A^B = 0011 0001
        ~B = 1111 0010
        说明: & 同为1,不同为0
              | 有1为1,无1为0
              ^ 同1为0,同0为0,一方1一方0为1
              ~ 取反
        
        位运算,效率高(面试题)
        <<  *2
        >>  /2

        2*8 =  2*2*2*2   即  2<<3

字符串拼接符 + (面试题)

注意点:是先运算还是先连接 和顺序有关

//字符串连接符   +
int n1=20;
int n2=10;
System.out.println(n1+n2+" ");  //先运算 再拼接
System.out.println(" "+n1+n2);   // 直接拼接

8、包机制

知识点:

/**
 * 包语句的语法格式
 *  package pkg1[.pkg2.[.pkg3...]]
 *
 *  导入包语法格式
 *  import package1[.package2...].(classname|*)
 */
 
 Demo:
package com.jiang.operator;
import java.util.Date;

9、JavaDoc

知识点:

  • javaDoc命令使用来声称自己的API文档
  • 参数信息:
  • @author 作者名
  • @version 版本号
  • @since 指明需要最早使用的jdk版本
  • @param 参数名
  • @return 返回值情况
  • @throws 异常抛出情况
    String name;

    /**
     *
     * @param name
     * @throws Exception
     */
    public  void  showName(String name)throws Exception{
        System.out.println(name);
    }

使用命令生成API:javadoc -encoding UTF-8 -charset UTF-8 demo07.java

基础知识后面都会用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值