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中所有的字符串文字都可以被看做是实现此类的实例
- 字符串不变: 字符串的值在创建后不能被更改
- String对象是不可变的,所以可以被共享
- "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
修饰的方法,编译时就会报错
修饰变量
-
局部变量——基本类型 被final修饰后,只能赋值一次,不能再更改
-
局部变量——引用类型 只能指向一个对象,地址不能再更改。但是不影响对象内部的成员变量值的修改
-
成员变量 涉及到初始化的问题
11.权限修饰符
本节完毕 下节更新java基础加强
部分参考:https://blog.csdn.net/wjl31802/article/details/86510585#2_6_7