zoukankan      html  css  js  c++  java
  • Java基础语法

    Java基础
    1639296999081

    标识符

    Java遵循就近原则

    • 什么是标识符 ?

      在 java 源程序当中,凡是程序员有权利自已命名的单词都是标识符。

    • 标识符可以标识什么元素呢 ?

    ​ * 类名 * 接口名 * 变量名 * 方法名 * 常量名

    • 标识符的命名规则

    ​ * 只能由"数字、字母、下划线_、美元符号$"组成,不能含有其它符号

    ​ * 不能数字开头

    ​ * 严格区分大小写

    ​ * 关键字不能做标识符

    ​ * 理论上无长度限制,但是最好不要太长

    ​ * 变量先声明数据类型,再进行初始化,才能被访问

    • 命名规范(最好敲代码按照规范来)

    ​ * 最好见名知意

    ​ * 遵守驼峰命名方式

    ​ * 类名、接口名: 每个单词的首字母大写。

    ​ * 变量名、方法名: 首字母小写,后面每个单词首字母大写。

    ​ * 常量名: 全部大写,比如PRICE

    关键字

    字面值

    • 字面值:

    ​ 10、100 、3.14 、"abc" 、 'a‘ 、 true、 false

    • 字面值就是数据,可以清楚的知道它是什么,多大。
    • 字面值是java源程序的组成部分之一,包括标识符和关键字它们都是java源程序的组成部分
    • 数据在现实世界当中是分门别类的,所以数据在计算机编程语言当中也是有类型的
    • 数据类型

    ​ -10、100 属于整数型字面值

    ​ - 3.14 属于浮点型字面值

    ​ - true ,false 属于布尔型字面值

    ​ - " abc" 、"中国人" 属于字符串型字面值

    ​ - 'A'、'人 ’ 属于字符型字面值

    • 注意:

    ​ java语言当中所有的字符串型字面值必须使用双引号括起来,双引号是半角双引号,java语言当中所有的字符型字面值必须使用单引号括起来(单个字符)。

    变量

    • 什么是变量?

    ​ * 变量本质上来说是内存中的一块空间,这块空间"有数据类型"、"有名字"、有字面值"。

    ​ * 变量包含三部分:数据类型、名称、字面值【数据】

    ​ * 变量是内存中存储数据的最基本的单元。

    • 数据类型的作用?

    ​ * 不同的数据有不同的类型,不同的数据类型会分配不同大小的空间。

    ​ * 数据类型是指导程序在运行阶段应该分配多大的内存空间。

    • 变量要求:

    • 变量中存储的具体的"数据"必须和变量的"数据类型"一致,当不一致的时候编译报错。

    • 变量在一行中可以声明多个,变量可以重复使用,要求变量先声明再赋值,注意:要求一行定义一个变量

    • 变量的作用域(有效范围):出来main方法的{ }就不认识了

    • 在同一个作用域中不能定义相同名字的变量,而不同作用域可以

    • 变量的分类:局部变量和成员变量

      • 在方法体当中声明的变量叫做局部变量
      • 在方法体外【类体之内】声明的变量叫做成员变量
      • 注意:成员变量不用赋初值,系统会自动给他赋值,而局部变量必须赋初值

    且,成员变量定义之前要加 static 关键字,比如static int i;

    • 注意:不管是局部变量还是成员变量,我们都要给他们赋初值,另外成员变量在定义的时候要加static(int i);

    类体里面不能直接编写JAVA语句,除声明变量之外

    数据类型

    • 强类型语言:Java、c、c++ 要求变量的使用严格符合规定,所有变量要先定义才能使用

    • 弱类型语言:Javascript

    1、数据类型的作用是什么?

    ​ 程序当中有很多数据,每一个数据都是有相关类型的,不同数据类型的数据占用空间大小不同。数据类型的作用是指导Java在运行程序的时候给该数据分配多大的内存空间。

    2、java中的数据类型包括两种:

    • 引用数据类型:数组、类、接口
    • 基本数据类型(基本数据类型包括四大类八种)

    第一类:整数型(byte类型的取值范围:-128-127)

    byte ,short ,int ,long 1 2 4 8

    第二类:浮点型

    float ,double 4 8

    第三类:布尔型

    boolean 1

    第四类:字符型(字符串属于引用数据类型)

    char 2

    注意:

    1. short和char所表示的种类总数是一样的,只不过char可以表示更大的正整数。因为char没有负数。
    2. 一个中文正好是两个字节,所以一个汉字可以用一个字符char表示,

    1639124915220

    1639124926279

    1639124936617

    1639124945895

    1639124954801

    数据类型转换

    • 关于基本数据类型之间的互相转换:转换规则

    ​ 1、八种基本数据类型当中除布尔类型之外剩下的7种类型之间都可以互相转换

    ​ 2、小容量向大容量转换,称为自动类型转换,容量从小到大排序:

    byte< short< int< long < float< double

    char <

    ​ **注: **任何浮点类型不管占用多少个字节,都比整数型容量大。

    ​ char和short可表示的种类数量相同,但是char可以取更大的正整数

    ​ 3、大容量转换成小容量,叫做强制类型转换,需要加强制类型转换符,程序才能编译通过,但是在运行阶段可能会损失精度,所以谨慎使用。

    ​ 4、当整数字面值没有超出byte , short , char的取值范围,可以直接赋值给byte , short,char类型的变量。

    ​ 5、byte , short,char混合运算的时候,各自先转换成int类型再做运算。-----整数浮点型

    ​ 6、多种数据类型混合运算,先转换成容量最大的那种类型再做运算。

    注意:面试题

    • 1、java语言当中的“整数型字面值”被默认当做int类型来处理。
    • 2、要让这个“整数型字面值”被当做long类型来处理的话,需要在“整数型字面值”后面添加1/L,建议使用大写的L
    • 3、在java语言当中,所有的浮点型字面值【3.0】,默认被当做double类型来处理,要想该字面值当做float类型来处理,需要在字面值后面添加 F/f 。
    • double和float在计算机内部二进制存储的时候存储的都是近似值。

    1639125031243

    • java语言当中的整数型字面值有三种表示方式 :

    ​ 第一种方式: 十进制【是一种缺省默认的方式】

    ​ 第二种方式: 八进制【在编写八进制整数型字面值的时候需要以0开始】

    ​ 第三种方式:十六进制【在编写十六进制整数型字面值的时候需要以0x开始】

    • 数据类型转换:自动类型装换、强制类型装换

    ​ 1、小类型自动装换成大类型——自动类型装换

    ​ 2、大类型装换成小类型——强制类型装换(会造成数据的丢失)

    • 当一个整数字面值没有超出byte ,short , char的取值范围,这个字面值可以直接赋值给byte , short , char类型的变量。但是一旦超过,就需要用强制类型转换

    转义字符

    转义字符(\)出现在特殊字符之前,会将特殊字符转换成普通字符。

    1639126734158

    布尔类型

    关于布尔型数据类型: boolean

    • 在java语言当中boolean类型只有两个值:true、 false,没有其它值。不像c语言当中,0和1可以表示假和真。

    • 在底层存储的时候boolean类型占用1个字节,而实际存储的时候false底层是0 ,true底层是1。

    • 布尔类型在实际开发当中非常重要,经常使用在逻辑运算条件控制语句当中。

    运算符

    1639126986796

    • 算术运算符:+ - * / % ++ --

      public class Demo01 {
          public static void main(String[] args) {
              // ++   --
              int a = 3;
              int b = a++;
              System.out.println(a);//输出结果是4
              //原因:在上一行的a++里面,a是先赋值给b,然后自加1
              int c = ++a;
              System.out.println(a);//结果5=4+1
              //原因:在上一行的++a里面,a是先自加1,然后再赋值给c
              System.out.println(b);//结果3
              System.out.println(c);//结果5
          }
      }
      
    • 赋值运算符:=

    • 关系运算符:> < >= <= == != instanceof

    • 逻辑运算符:&& || !

    • 位运算符:& | ^ ~ >> << >>>

      public class Demoe6 {
          public static void main( String[] args) {
              /*
              A = 0011 1100
              B = 0000 1101
              ----------------
              A&B = 0000 1100   同1则1
              A|B = 0011 1101   有1则1
              A^B = 0011 0001   异或 同0异1
              ~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 Demo01 {
        public static void main(String[] args) {
            int a = 10;
            int b = 11;
            a+=b;
            System.out.println(a); //输出结果21
            
            int d = 20;
            int e = 30;
            System.out.println(""+d+e);  //结果2030
            System.out.println(d+e+"");  //结果50
        }
    }
    

    运算符优先级:

    1639291911823

    详细可参考:

    Java运算符优先级 (biancheng.net)

    (25条消息) C语言运算符优先级(超详细)_yuliying的专栏-CSDN博客_运算符优先级

    包机制

    1639292445647

    JavaDoc(文档注释)

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

    参数信息
    @author作者名

    @version版本号

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

    @param参数名

    @return返回值情况

    @throws异常抛出情况

    问题:如何使用IDEA生成Javadoc文档

    (25条消息) 如何使用Intellij Idea生成JavaDoc文档_霜之哀伤-CSDN博客_使用idea生成javadoc文档

  • 相关阅读:
    LeetCode Flatten Binary Tree to Linked List
    LeetCode Longest Common Prefix
    LeetCode Trapping Rain Water
    LeetCode Add Binary
    LeetCode Subsets
    LeetCode Palindrome Number
    LeetCode Count and Say
    LeetCode Valid Parentheses
    LeetCode Length of Last Word
    LeetCode Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/abcd123456/p/15679509.html
Copyright © 2011-2022 走看看