Java基本语法

Java基本语法

目录:

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

  2. 数据类型

  3. 类型转换

  4. 变量、常量

  5. 运算符

  6. 包机制、javaDoc


    一、注释,标识符,关键字

注释

  1. 平时我们编写代码,在代码量比较少的时候,我们还可以看懂自己写的,但是当项目结构一旦复杂起来,我们就需要用到注释了。

  2. 注释并不会被执行,是给我们写代码的人看到

  3. 书写注释是一个非常好的习惯

Java中的注释有三种:

​ 单行注释://

​ 多行注释:/* 注释 */

文档注释:/** 注释 */

public class HelloWoeld {
    public static void main(String[] args){
        //单行注释
        //输出一个Hello,World!
        System.out.println("Hello,World");
        
        /*
        我是多行注释
         */
        
        //JavaDoc:文档注释    /**    */
        /**
         * @Description HellWorld
         */
    }
}

java Doc

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

参数信息

  1. @author 作者名

  2. @version 版本号

  3. @since 指明需要最早使用的jdk版本

  4. @param 参数名

  5. @return 返回值情况

  6. @throws 异常抛出情况

    /**
     * @author longge
     * @version 1.0
     * @since 1.8
     */
    
    public class Doc {
        String name;
    
        /**
         * @author longge
         * @param name
         * @return
         * @throws Exception
         */
        public String test(String name) throws  Exception{
            return  name;
        }
    }
    

平时写代码一定要注意规范!


关键字

abstractassertbooleanbreakbyte
casecatchcharclassconst
continuedefaultdodoubleelse
enumextendsfinalfinallyfloat
forgotoifimplementsimport
instanceofintinterfacelongnative
newpackageprivateprotectedpublic
returnstrictfpshortstaticsuper
switchsynchronizedthisthrowthrows
transienttryvoidvolatilewhile

标识符注意点

  1. 所有的标识符都应该以字母(A-Z或者a-z)、美元符($)、或者下划线(_)开始

  2. 首字符之后可以是字母A-Z或者a-z)、美元符($)、或者下划线(_)或者数字的任何字符组合

  3. 不能使用关键字作为变量名或者方法名。

  4. 标识符是大小写敏感的

  5. 可以使用中文命名,但一般不建议这样去使用,也不建议使用拼音,很LOW

    public class Demo01 {
        public static void main(String[] args){
            String Ahello = "龙华望";
            String NAME = "龙章铭";
            String 王者荣耀 = "荣耀黄金";
        }
    }
    

二、数据类型

java数据类型属于强类型语言,要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0JrmmOxr-1634628909179)(C:\Users\86150\AppData\Roaming\Typora\typora-user-images\image-20211015144041152.png)]

变量

  1. 变量是什么:就是可以变化的量!

  2. Java是一种强类型语言,每个变量都必须声明其类型。

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

    type varName [=value] [{,varName[=value]}];
    //数据类型  变量名 = 值;可以使用多个逗号隔开来声明多个不同类型的变量。
    

注意事项:

  1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

  2. 变量名必须是合法的标识符。

  3. 变量声明是一条完整的语句,因此每一个声明都必须以分号来结束。

    八大类型

    public class Demo02 {
        public static void main(String[] args) {
          //八大基本数据类型
    
            //整数
           
            int num1 = 10;   //最常用  -2147483648-2147483648
            byte num2 = 20;           -128-127
            short num3 = 30;          -32768-32767
            long num4 = 30l;   //Long类型要在数字后面加个L
    
            //小数:浮点数
            float num5 = 50.1F;
            double num6 = 3.1415926;
    
            //字符
            char name = 'A';
            //字符串,String不是关键字
            String name1 = "龙华望";
    
            //布尔值: 是非
            boolean flag = true;
            // boolean flag = false;
        }
    }
    

变量拓展

//整数拓展:   进制    二进制0b      十进制 正常数字      八进制 0      十六进制 0x
        int i = 10;   //十进制
        int i1 = 0b10;   //二进制
        int i2 = 010;    //八进制
        int i3 = 0x11;   //十六进制   0-9   A-F

        System.out.println(i);
        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println("======================================================================");

浮点苏拓展

//浮点数拓展  银行业务怎么表示?钱
        //使用  BigDecimal 数学工具类
        //============================================================================
        //float 特点:他是  有限  离散   舍入误差    大约    接近但不等于
        //double
        //最好完全使用浮点数进行比较

        float f = 0.1f;   //0.1
        double d = 1.0/10;//0.1

        System.out.println(f==d);//false   //理论相等   实际不相等
        System.out.println(f);
        System.out.println(d);

        float d1 = 543345765f;
        float d2 = d1 + 1;
        System.out.println(d1==d2);//true   //理论不相等    实际相等
        System.out.println("===============================================================================");

字符拓展

//字符拓展
        //===============================================================================
        char c1 = 'a';
        char c2 = '中';
        System.out.println(c1);
        System.out.println((int)c1);    //强制转换c1的值

        System.out.println(c2);
        System.out.println((int)c2);    //强制转换c2的值

        //所有的字符本质还是数字(强制转换)
        //编码   Unicode 表:(97 = A  65 = a)2字节  最大0-65536字节  Excel表使用的就是Unicode表
        char c3 = '\u0061';
        System.out.println(c3);  //a

转义字符

\t 制表符
\n 换行符
’ 单引号字符
\ 反斜杠字符
\r 回车
\n 换行
\f 走纸换页
\t 横向跳格
\b 退格

//转义字符
//  \t 制表符
//  \n 换行符
System.out.println("Hello\tworld");
System.out.println("Hrllo\nWorld");
        String sa = new String("hello world");
        String sb = new String("hello world");
        System.out.println(sa == sb;   //不相等

        String sc = "hello world";
        String sd = "hello world";
        System.out.println(sc == sd);  //相等
        //对象  从内存分析

布尔值拓展

//布尔值拓展
        boolean flag = true;
        if (flag = true){}  //新手
        if (flag){}  //老手             //两段代码都是相等的,默认==true;    less is More!   代码要精简易读

三、类型转换

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

//低----------------------------------------高
//byte,short,char->int->long->float->double
//小数的优先级大于整数

运算中,不同类型的数据先转化为同一类型,然后进行运算。

int i = 128;         //128
byte b = (byte)i;    //-128  //内存溢出
//强制转换  (类型名)变量名   高---低
//自动转换   低----高
System.out.println(i);
System.out.println(b);
/*注意点:
1.不能对布尔值进行转换
2.不能把对象类型转换为不相干的类型
3.再把高容量转换到低容量的时候,强制转换
4.转换的时候可能存在内存溢出,或者精度问题!
 */
System.out.println("=================================");
System.out.println((int)23.7);    //23   小数点没有了
System.out.println((int)-45.7);   //-45
System.out.println("==================================");
char c = 'a';
int d = c + 1;
System.out.println(d);
System.out.println((char) d);
//操作比较大的时候注意溢出问题
        int money = 10_0000_0000;  //十亿
        int years = 20;   //20年
        int total1 = money * years;  //计算的时候溢出了
        long total2 = money * years;//默认是int ,转换之前已经存在问题了
        System.out.println(total1);

        long total3 = money * ((long)years);//计算之前转换,就没有问题
        System.out.println(total3);
        

四、变量、常量

变量是什么:就是可以变换的量

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

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

type varName [=value] [{,varName[=value]}];
//数据类型 变量名 = 值; 可以使用逗号隔开来声明多个同类型变量

注意事项:

  1. 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

  2. 变量名必须是合法的标识符。

  3. 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

    变量作用域

    1. 类变量

    2. 实列变量

    3. 局部变量

      public class Demo05 {
      
          //类变量 static
          static double salary = 2500;
          //属性:变量
      
          //实列变量:从属于对象;  如果不自行初始化,这个类型的默认值 0  0.0
          //布尔值:默认是false
          //出了8大基本类型,其余的默认值都是null;
          String name;
          int age;
      
          //main方法
          public static void main(String[] args) {
      
              //局部变量:必须声明和初始化值
              int i = 10;
              System.out.println(i);
      
              //变量类型    变量名字 = new Demo05
              Demo05 demo05 = new Demo05();
              System.out.println(demo05.age);
              System.out.println(demo05.name);
      
              //类变量 static
              System.out.println(salary);
      
          }
      
          //其他方法
          public void  add(){
      
          }
      }
      
      

      常量 final

      常量:初始化后不能再改变值,就是不会变动的值。

      所谓常量可以理解成一种特殊的变量,它的值被设定后,在程序运行过程中不允许被改变。

      final 常量名 = 值;
      final double PI = 3.14;
      

      常量名一般使用大写字符

    变量的命名规范

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

五、运算符

Java语言支持如下运算符:优先级()

  1. 算数运算符:+,-,*,/,%,++,–
  2. 赋值运算符:=
  3. 关系运算符:>、<、>=、<=、==、!=instanceof
  4. 逻辑运算符:&&、||、!
  5. 位运算符:&、|、^、~、>>、<<、>>>(了解!!!)
  6. 条件运算符:?:
  7. 扩展赋值运算符:+=,-=、*=、/=
//二元运算符
//Ctrl + d :复制当前行到下一行
int a = 10;
int b = 20;
int c = 15;
int d = 25;

System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / (double)b);
 public static void main(String[] args) {
        //关系运算符返回的结果:正确、错误  通过布尔值表示
        int a = 10;
        int b = 20;
        int c = 21;
       
        Sustem.out.println(c%a);
        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);
    }
 public static void main(String[] args) {
        //++ 自增 , --  自减   一元运算符
        int a = 3;

        int b = a++;    //执行完代码后给b赋值,在自增b=4
        //a++  a = a + 1;
        int c = ++a;//执行玩这行代码前,先自增,再赋值

        System.out.println(a);
        System.out.println(a);
        System.out.println(b);

        //幂运算 2^3 = 2*2*2 = 8 很多运算,我们会使用一些工具类来操作(Math)
        double pow = Math.pow(3,2);
        System.out.println(pow);
    }
public static void main(String[] args) {
        // 与(add)  或(or)  非(取反)
        boolean a = true;
        boolean b = false;

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

        //短路运算
        int c = 5;
        boolean d = (c<4) && (c++<4);// c<4结果为假,后面c++不会在执行
        System.out.println(d);
        System.out.println(c);
    }
   /*
        位运算
        A = 0011 1100
        B = 0000 1101
        ---------------------------------------------
        A & B = 0000 1100  两个位同时为1则为1,否则为0
        A | B = 0011 1101  两个位有一个位1,两个为0则为0
        A ^ B = 0011 0001  两个位相同则为0,否则为1
        ~B = 1111 0010     两个位结果位为真,则为假0,两个位结果为假则为真1

        面试题:
        2 * 8 怎么最快
        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 0101      5
        0000 0110      6
        0000 0111      7
        0000 1000      8
        0001 0000      16
         */

        System.out.println(2<<3); //答案  位运算最快


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);

        //字符串连接符  +  ,  输出类型:String 
        System.out.println(""+a+b);
        System.out.println(a+b+"");
    }
public static void main(String[] args) {
        // x ? y : z
        //如果x == true,则结果为y,否则结果为z

        int score = 50;
        String type = score < 60 ? "不及格" : "及格";
        System.out.println(type);
    }

包机制

为了更好的组织类,Java提供了包机制,用于区别命名空间,包的本质就是文件夹

包语句的语法格式为:

package pkg1[.pkg2[.pkg3...]];

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

比如:www.baidu.com com.baidu.www

为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可以完成此功能

import package1[.package2...].(classname|*);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小城小人物

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值