0%

Java基础知识点

0.Java基础知识点

1.计算机高级编程语言类型
编译型
解释性

2.Java两种语言的结合

编译指令 Javac.exe Javac 表示编译,编译成class文件(编译java程序)

解释命令 Java.exe Java 类名 表示放在虚拟机中执行(运行java程序)

3.Java程序组成:Java源文件,字节码文件,机器码指令 ,Java虚拟机。

4 .** 所有程序并不是直接运行在操作系统上,而是通过jvm上执行。**

5.path和class path区别

path:是操作系统的环境属性,指的是可以执行命令的程序路径。

classpath:所有*.class文件的执行路径,Java命令执行时将利用此路径加载所需要的*.class文件

6.一个Java源文件之中可以有多个class定义,但是只能有一个 public class。

7.classpath主要指类的运行路径,jvm需要通过classpath加载需要的类。

默认为当前路径。

1.注释 (释不会执行,是为了方便别人阅读代码,书写注释是一个良好的习惯)

  1. 单行注释 注释单行文字

    //这就是单行注释
  2. 多行注释 注释一段文字

    /\*
    
     多行注释
    
     多行注释
    
     多行注释
    
    \*/
  3. 文档注释 注释一段文字

    /\*\*
    
    \* @deprecated 描述
    
    \* @Author 作者
    
    \*/

2.标识符

  1. Java所有的组成部分都要有名字,这些名字就是标识符

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

  3. 首字母之后可以是字母(A-Z a-z),美元符号($),下划线(_)和数字的任意组合

  4. 不能使用关键字作为变量名,方法名

  5. 标识符大小写敏感

  6. 可以使用中文,但是不建议使用

3.数据类型和范围

  1. 整数类型

    1. byte占1个字节范围 大小范围-128 至127

    2. short占2个字节范围 大小范围-32768 至32767

    3. int占4个字节范围 大小范围- 2147483648 至2147483647

    4. long占8个字节范围 大小范围- 9223372036854775808 至 9223372036854775807

  2. 浮点数类型

    1. float占4个字节范围

    2. double占8个字节范围

  3. 字符类型

    char占2个字节范围

  4. 布尔类型

    1. boolean占1位 只有两个值是(true)与非(false)
  5. 扩展

    1. 进制

      1. 二进制 0b 开头 0b00012

      2. 八进制 0 开头 0108

      3. 十六进制 ox 开头 0x10 16 0-9 A-F

    2. 浮点数

      1. 浮点数的范围是有限的

      2. 数值有舍入误差

      3. 是一个大约数,接近但不等于

      4. 最好完全避免使用浮点数进行比较

      5. 最好完全避免使用浮点数进行比较

      6. 最好完全避免使用浮点数进行比较

    3. 字符型

      1. 字符可以转换为数字

      2. 所有的字符本质还是数字

      3. 根据编码类型,每一个字符对应一个数字 例 'a' = 97

    4. 转义字符

      1. \t 制表符

      2. \n 换行符

        数据类型        byte        short     int          long          float     double           char        boolean
        
        大小(bit)          8          16              32          64                  32                 64                    16             1
        
         默认值          0           0               0             0                 0.0f                 0.0d        '\u0000'          false

4.类型转换

  1. java是强类型语言运算时可能要用到类型转换,把不同类型的数据转换为同类型数据进行运算

  2. byte、short、char–>int–>long–>float–>double

  3. 强制类型转换

    1. 从高到低转换

    2. (类型)变量名

      int a = 10;
      byte b = (byte)a;
  4. 自动类型转换

    1. 从低到高

      int a = 10;
      double b = a;
  5. 注意点

    1. 不能对布尔型转换
    2. 不能把对象类型转换为不相干的类型
    3. 转换是可能会存在内存溢出和精度的问题

5.变量和常量

  1. 命名规范

  2. 见名知意,使用英文

  3. 变量名首字母小写 驼峰原则(其他单词首字母大写) 例 lastName

  4. 常量大写字母加下划线 例 MAX_VALUE

  5. 类名首字母大写和驼峰原则 例 LastName

  6. 方法名与变量名相同

    2.变量

    1. 变量就是可以变化的量,存储位置确定值可以变化
    2. 变量必须声明数据类型
    3. 变量是java中最基本的存储单位,其要素包括变量名,数据类型和作用域
    4. 变量声明必须以分号结尾

    a. 局部变量
    代码块内声明的变量 必须声明与初始化
    b. 实例变量

    1. 从属于对象,自动初始化(每个类型有默认值)
    2. boolean默认值为false
    3. 除了基本类型其余的默认值都是null
      c. 类变量
    4. 关键字static标识的变量
    5. static 数据类型 变量名 = 值
    6. 从属于整个类
      d.常量
    7. 初始化之后就不能改变的值
    8. 通过关键字final定义
    9. final 数据类型 变量名 = 值;
    10. 常量名使用大写字母

6.运算符

  1. 算术运算符

    1. 加(+)、减(-)、乘(*)、除(/)、取余(%)、自增(++)、自减(–)

    2. 取余(%)取除运算的余数 (22/10=2 余 2) (22%10=2)

       int a = 2;
       int b = a++;//a+1  先赋值再自增
       int c = ++a;//a+1  先自增再赋值
      //自减相同
  2. 赋值运算符

    1. =(赋值符)
      int a = 18;//把值18赋给a
  3. 关系运算符

    1. 大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(=)、不等于(!=)
  4. 逻辑运算符

    1. 与(&&)或(||)非(!)
    2. 与 两真则真 两假则假
    3. 或 一边真为真
    4. 取反 真为假 假为真
  5. 位运算

    1. 与(&)或(|)异或(^)取反(~)左移(<<)右移(>>)

      a = 0010 0001;
      b = 0100 1001;
      a&b = 0000 0001;//有0则0
      a|b = 0110 1001;//有1则1
      a^b = 0110 1000;//相同为0 不同为1
      ~b = 1011 0110;//取反
       2\<\<3 = 16;//\<\<  \*2
       2\>\>1 = 1;//\>\> /2
  6. 条件运算符

    1. (?:)

    2. 条件?条件正确结果(true):条件错误结果(false);

      int a = 1;
      int b = 2;
      inc c = a\>b?a:b;//c=2
  7. 拓展赋值运算符

    1. += -= *= /=

      int a = 5;
      a += 5;//等于a=a+5  其他几个同理

7.&和&& |和||

&:表示普通与,所有的判断条件都要依次执行。

&&:表示短路与,若干个条件,如果前面的条件返回了true,那么后面的不再判断,结果就是false。

|:表示普通或,所有的判断条件都要执行。

||::表示短路或,若干个条件,如果前面的条件返回了true,那么后面的不再判断,结果就是false。

在位运算中,&表示位于运算,|表示位或运算。

8.程序结构

1.顺序结构

2.选择(分支)结构

1.if语句格式 if…else语句

1
2
3
4
5
6
7
if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}

2.switch语句

1
2
3
4
5
6
7
8
9
10
11
12
switch(expression){

case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}

switch注意点

每个case语句后面都加上一个break语句,如果不加入此语句,switch语句会从第一个满足条件的case开始依次执行操作。

switch(expression)中,expression是一个整数表达式,因此传递给switch和case语句的参数应该是int,short,char或byte。而对于long却不可以使用,在jdk1.7之前,string都不能用于switch,现在增加了string的判断。

3.循环结构

while循环:在不确定循环次数,但是确定循环结束条件的情况下使用。

for循环:确定循环次数的情况下。

1
2
3
4
5
6
7
8
9
10
11
do {
//代码语句
}while(布尔表达式);

for(初始化; 布尔表达式; 更新) {
//代码语句
}

while( 布尔表达式 ) {
//循环内容
}

continue语句可以强迫程序跳到循环的起始处,当程序运行到continue语句时,会停止运行剩余的循环主体,而回到循环的开始处继续运行。

原文链接

-------------本文结束元宝感谢您的阅读-------------