Java基础知识文档-01
2020年12月30日
一、基础知识概念
1、Java程序属于现编译后执行文件,首先由.java文件编译为.class文件,.class文件为二进制文件,然后执行.class文件。
二、代码书写规范
1、项目名称全部小写
2、包名全部小写
3、类名首字母大写,其余组成词首字母依次大写
4、变量名、方法名首字母小写,如果名称由多个单词组成,除首字母外的每个单词首字母大写
5、常量名全部大写
所有命名规则必须遵循以下原则
名称只能由字母、数字、下划线、$符号组成
不能以数字开头
名称不能使用Java中的关键字
坚决不能出现中文以及拼音命名
三、数据类型
1、基础数据类型
1 //基本
2 byte 1个字节
3 short 2个字节
4 int 4个字节
5 long 8个字节
6 float 4个字节
7 double 8个字节
8 char 2个字节
9 boolean 1个字节
//基础数据类型包装类
Byte byt = 5;
Short shor = 8;
Integer integer = 12;
Long lon = 50l;
Character c = 'a';
Boolean a = false;
Double d = 2.5d;
Float f = 232.4f;
参考链接官方.
2、定义变量规则
(1)定义变量名不能有空格
(2)避免使用关键字
(3)避免使用汉字
(4)整体是驼峰命名,首字母小写
(5)数字不能开头
注意:逻辑运算符按先后顺序计算;算术运算符先乘除后加减运算。
3、三目运算
条件 ? 结果1 : 结果2
条件成立返回结果1,不成立返回结果2
4、位移运算
<< 左移
不要溢出前面的1
>> 右移
不要溢出末尾的1
二进制位移:左移后补零,右移削后位
5、输出不同类型方法
// An highlighted block
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
//创建Scanner对象,从键盘接收数据
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个字符串(不带空格)");
//接收字符串
String s1=sc.next();
System.out.println("s1="+s1);
System.out.println("请输入一整数");
//接收整数
int i=sc.nextInt();
System.out.println("请输入浮点数");
//接收浮点数
float f=sc.nextFloat();
System.out.println("f="+f);
System.out.println("请输入一个字符串(带空格)");
//默认情况下只能取出空格之前的数据
String s2=sc.next();
System.out.println("s2="+s2);
//设置读取的分隔符为回车
sc.useDelimiter("\n");
//接收上次扫描剩下的空格之后的数据
String s3=sc.next();
System.out.println("s3="+s3);
System.out.println("请输入一个字符串(带空格)");
String s4=sc.next();
System.out.println("s4="+s4);
}
}
6、数组
- 数组定义
int[] num={1,2,3};
int[] nums=new int[3];
//类型 名字 = new 类型【长度】
- 数组的性质
1.数组一旦建立不能改变长度 2.每个位置只能存一个值,二次存储会覆盖之前的值 3.标号从0开始,下标 4.数组内部可以是基本类型,也可以是引用类型
7、基本排序
- 选择排序
- 冒泡排序
- 插入排序
全部排序转到——十大经典排序总结.
8、面向对象——封装
涉及到堆和栈
封装的类包括:基础数据类型+方法
new: 调用的是类的构造方法
this关键字:指向当前类的对象本身
重载:
方法名相同
方法的参数类型,参数个不一样
方法的返回类型可以不相同
方法的修饰符可以不相同
main 方法也可以被重载
注:
当调用同一个类的构造方法但是想写成有参数与无参数的形式需要写两个名字相同的构造方法-重载(普通方法不能重载)
四种权限修饰符
修饰符 | 当前类 | 同package | 子孙类 | 其他package |
---|---|---|---|---|
public | Y | Y | Y | Y |
protected | Y | Y | Y | N |
default | Y | Y | N | N |
private | Y | N | N | N |
封装一个类-代码
package liangyu.practice;
public class Encapsulation {
//属性(使用private定义可以保护属性不被修改)
private int age;
private String name;
//构造方法
public Encapsulation(){
//无参构造
}
public Encapsulation(int age,String name){
//有参构造
}
//普通方法
public void isFool(int age,String name){
System.out.println(age+"岁的"+name+trueFool());
}
//私有方法(私有方法只能自己用)
private String trueFool(){
return "是傻子";
}
//getter、setter方法(主要用来操作属性值,保护属性)
public void setAge(int age){
this.age = age;
}
public int getAge() {
return this.age;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
}