java基础 java面试 java学习节点(1)

java基础:

1. 8大基本类型
    byte,char,short,int,long,float,double,boolean

类型                      长度                                     范围           
byte(字节)                8                                     128 - 127                                      
shot(短整型)              16                                 -32768 - 32768                                    
int(整型)                 32                            -2147483648 - 2147483648            
long(长整型)              64                   -9233372036854477808 - 9233372036854477808                          
float(浮点型)             32                                 -2^128 ~ +2^128
double(双精度)            64                                -2^1024 ~ +2^1024
char(字符型)              16                                    -128~127         
boolean(布尔型)           1                                    true/false                                  

2. 常量

   java常量:指在首次赋值之后该值不能再发生改变

例子:
    /**
	 * double 类型常量
	 */
	private static final double dou = 120.00;
	
	/**
	 * double 类型常量
	 */
	private static final boolean bol = true;
	
	/**
	 * String 类型常量
	 */
	private static final String hellow = "hellow";
三个例子说明常量如果赋值一次之后再次赋值会发生编译错误

 3.企业级命名规范和必要注释

   注意点一:在开发过程中命名规则必须按照团队的开发命名走注意统一

   注意点二:开发中不可使用(shangpin,dianqi,productdingdan)这样的变量或者类名出现(拼音或者拼音加英语)

   注意点三:在不确定命名规则时按照阿里命名规则走绝对没有错

4.Java运算符

   

一元运算符

  

算数运算符

移位运算符

关系运算符 

5.循环 判断语句(if企业级项目一般有很多地方使用到)

boolean isBoolean = true;
        for (int i = 0; i < 5; i++) {
            if (isBoolean){
                System.out.println(isBoolean);
            }else {
                System.out.println(isBoolean);
            }
        }

6.java虚拟机的内存划分

   java程序运行过程: 
首先Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中的类加载器加载各个类的字节码文件,加载完毕之后,交由JVM执行引擎执行。在整个程序执行过程中,JVM会用一段空间来存储程序执行期间需要用到的数据和相关信息,这段空间一般被称作为Runtime Data Area(运行时数据区),也就是我们常说的JVM内存。

因此,在Java中我们常常说到的内存管理就是针对这段空间进行管理(如何分配和回收内存空间)。

java虚拟机管理的内存包括几个运行时数据内存:堆、方法区、虚拟机栈、本地方法栈、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个都是线程隔离的数据区。 

 7.面向对象

    谨记一个原则:万物皆对象

    继承,封装,多态,抽象

8.String类、static关键字、Arrays类、Math类

  8.1.String类

  概述 :java中所有的字符串文字都可以被看做是实现此类的实例

  特点:

  1. 字符串不变: 字符串的值在创建后不能被更改
  2. String对象是不可变的,所以可以被共享
  3. "abc"等效于char[] data = {‘a’,‘aa’,aaa’} 

 常用方法:

   判断功能的方法
      public boolean equals (Object anObject): 将次字符串与指定对象比较
      public boolean equalsIgnoreCase(String anotherString)忽略大小写
  获取功能的方法
     public int length ():返回此字符串的长度
     public String concat(String str): 将指定的字符串拼接到字符串的末尾
     public char charAt(int index): 返回指定索引处的char值
     public int indexOf(String str): 返回指定字符串第一次出现在该字符串内的索引
     public String substring(int beginIndex): 返回子字符串,从beginindex开始截取字符串到字符串末尾
     public String substring (int beginIndex,int endIndex):从beginindex到endIndex截取字符串,左闭右开
  转换功能的方法
     public char[] toCharArray (): 将此字符串转化为新的字符数组
     public byte[] getBytes ():使用默认字符集将String编码转换为新的字节数组
     public String replace(CharSequence target, CharSequence replacement): 将与target匹配的字符串用replacement字符串替换

  分割功能的方法

  public String[] split(String regex): 将此字符串按照给定的regex拆分为字符串数组

 8.2.Ststic关键字

    用来修饰成员变量和成员方法,被修饰的成员属于 类(在实际的项目开发中大多数都会有一个静态常量类   统一开发)

    静态方法调用的注意事项:

  • 静态方法可以直接访问类变量和静态方法
  • 静态方法不能直接访问普通成员变量和成员方法
  • 静态方法,不能使用this关键字

 

  调用格式

     被static修饰的成员可以并且建议通过类名直接访问

     静态原理图解

 static 修饰的内容:

  • 是随着类的加载而加载的,且只加载一次。
  • 存储于一块固定的内存区域(静态区),所以,可以直接被类名调用。
  • 它优先于对象存在,所以,可以被所有对象共享。

 

 

 静态代码块

  定义在成员位置,使用static修饰的代码块{},随着类的加载而执行,且执行一次,优先于main方法和构造方法的执行。

  作用:给类变量进行初始化赋值

 8.3.Arrays 类

    概述
     java.util.Arrays此类包含用来操作数组的各种方法,所有方法均为静态方法。

    操作数组的方法
     public static String toString(int[] a): 返回指定数组内容的字符串表示形式
     public static void sort(int[] a): 对指定的int 型数组按数字升序排序 案例:倒序打印
8.4 Math类

  概述
    基本数学运算,也是静态方法,不用创建对象

  基本运算方法
    public static double abs(double a): 返回double的绝对值
    public static double ceil(double a): 返回大于等于参数的最小的整数
    public static double floor(double a): 返回小于等于参数最大的整数
    public static long round(double a): 返回最接近参数的long(相当于四舍五入)

        double match=-2.22;
        System.out.println(Math.abs(match));
        System.out.println(Math.ceil(match));
        System.out.println(Math.floor(match));
        System.out.println(Math.round(match));

9.super和this

  • super: 代表父类的存储空间标识(可以理解为父类的引用)
  • this: 代表当前对象的引用(谁调用就代表谁)

10.final关键字

概述

为了避免这种随意改写继承API中提供的类的内容的情况,Java提供了final 关键字,用于修饰不可改变内容。

  • final: 不可改变。可以用于修饰类、方法和变量。
    • 类:被修饰的类,不能被继承。
    • 方法:被修饰的方法,不能被重写。
    • 变量:被修饰的变量,不能被重新赋值。

 修饰类:

   查询API发现像 public final class String 、public final class Math 、public final class Scanner 等,很多我们学习过的类,都是被final修饰的,目的就是供我们使用,而不让我们所以改变其内容

 修饰方法:

  重写被 final修饰的方法,编译时就会报错

 修饰变量

  1. 局部变量——基本类型 被final修饰后,只能赋值一次,不能再更改

  2. 局部变量——引用类型 只能指向一个对象,地址不能再更改。但是不影响对象内部的成员变量值的修改

  3. 成员变量 涉及到初始化的问题

11.权限修饰符 

   

 本节完毕  下节更新java基础加强

 部分参考:https://blog.csdn.net/wjl31802/article/details/86510585#2_6_7

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章