WHCSRL 技术网

2021-10-18 JAVA基础

一、Java基础

[1] .变量—数据类型变量名=值;

1.数据类型:

1.基本数据类型:
byte[1字节] short[2字节] int[4字节] 1ong[8字节] float [4字节] doub1e[8字节] boolean[1字节] char [2个字节]

2.引用数据类型.类接口枚举数组
变量名: —命名规则
1.由字母数字下划线_美元符$组成
2.不能以数字开头
3.不能使用java的关键字。
4.习惯:见名知意类名接口名每个单词首字母大写。
方法变量名第一个单词的首字母小写其他单词的首字母大写. [studentAge]
常量所有字母全大写。

2.运算符:

1.算术运算符。+, -,, /, %%%%,++[前(先+1在运算)后 [先运算再+1],–.
例子: int i=2; int C=++i
2+1; sout(c==) sout(i==)
例子: int i=2; sout(i++);

2.关系运算符。>,>=,<,<=,==,!= 得到的结果-定是boolean值 。

3.逻辑运算符。连接多 个关系运算的。&&[这两个关系运 算符得到的结果都为true是才为true] II [两个关系运算符只要有一 -个为true,就是true] !

4.赋值运算符。=,+=,-=,=,/=,%%%%=
例子: int a=2; int b=2; b
=a+1; b=b*(a+1) sout(b)

5.位运算符[二进制]。&,1,^,>>.<<.
例子:int a=1; int b=2; int c=a&b

6.三目运算符。
条件语句?表达式1:表达式2:

3.控制语句

3.1 if语句

代码如下(示例):

if(条件){}
if(条件){}else{}
if(条件){}else if(条件){} ...else{}
switch(表达式){
	case1: 
	break;
case2:
	 break;
case3: 
	break;
default:
	 break;
	 //每一个case的值不能重复
	 //default 找不到匹配的case时执行default的语句
	 //breake执行完对应的case后 跳出switch语句如果没有使用break则找到匹配的case后会把后面所有的语句都执行。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

3.2 while语句

代码如下(示例):

while(条件){//条件是boolean值。

}
例子:
int sum = 0;
int i = 1;
while(i<=100){
	sum+=i;
	i++;
}
System.out.println("sum="+i);

do{
}
while(条件)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

3.3 for语句

代码如下(示例):

for(初始值;条件;变化){
	初始值只会被执行一次
}
//1·100的和
public class Test {
    public static void main(String[] args) {
        //1~100的和
        int sum = 0;
        for (int i=0;i<=100;i++){
            sum+=i;
        }
        System.out.println(sum);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

3.4 数组

数据类型 [ ] 变量名 = new 数据类型[长度];
数据类型 [ ] 变量名 = {值,值,值,值};
代码如下(示例):

public class Test {
    public static void main(String[] args) {
        String[] arr = new String[3];
        arr[0]="xxx";
        arr[1]="yyy";
        //根据下标获取数组中每个元素的值
        System.out.println(arr[0]);

        System.out.println(arr.length);

        for (int i = 0; i < arr.length ; i++) {
            System.out.println(arr[i]);
        }

        System.out.println("=========");
        for (String b:arr){//无序且没有下标
            System.out.println(b);
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

3.5 冒泡排序

代码如下(示例):

public class Test {
    public static void main(String[] args) {
        int arr[] = {2,3,4,65,32,56};
        //选择排序
        for (int i = 0;i< arr.length;i++){//排序的次数
            for (int j = 0; j < arr.length ; j++) {
                if (arr[i]>arr[j]){
                    int tmp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = tmp;
                }
            }
        }
        for (int a:arr){
            System.out.println(a+"	");
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

二、JAVA面向对象

1.类和对象

	类:具有相同属性和行为的一组对象的集合。抽象的概念。
	对象 :万事万物皆为对象。具体存在的实物。
  • 1
  • 2

2.如何定义类

代码如下(示例):

public class 类名{
		//成员变量;
		//成员方法;
}
  • 1
  • 2
  • 3
  • 4

2.1 如何根据类创建对象

	类名  对象名 = new 类名();
  • 1

2.2 对象如何调用类中的成员

	对象名.成员变量;
	对象名.成员方法(实参);
  • 1
  • 2

3.三大特性

  • 封装:把类中成员使用private进行封装,使外界无法之间调用。
    一般封装属性,并且生成getter和setter方法。
  • 继承:一个子类继承父类中的成员 extends ------
    public class 子类名 extends 父类名{
    }
    Overload重载 和 OverRide重写
  1. overload:在同一个类中,出现方法名相同 参数列表不同的方法。不考虑返回类型。这些方法就是反复重载。。
  2. override:在父类和子类之间,子类中出现了和父类中方法名一样,参数列表一样。返回值类型一样。访问修饰符不能小于父类方法的访问修饰符。抛出异常不能大于父类中,子类中出现的这种方法就是方法重写。
    访问修饰符:public:同一个工程下都可以访问
    protected:同包或者不同包下的子类访问
    默认:同包访问
    private:同类访问
  • 多态:一个对象具有多种形态
    父类声明 对象名 = new 子类对象();//向上转型
    Father father = new son();
    //向上转型:能调用那些方法看=左边,实际执行哪些方法看=右边
    父类.方法();//调用的是子类的方法
    子类声明 对象名 = new 父类对象();//向下转型
    Son son = (Son) father();//向下转型

4.抽象类和接口

1.抽象类:只能被继承不能被实例化对象。抽象类中有构造方法,抽象类中可以有非抽象方法。抽象类中的属性可以是普通属性也可以是静态属性。
2.接口:可以被多个实现,没有构造方法,全是抽象方法(jdk8后出现了默认方法和静态方法)

5.异常处理

代码如下(示例):

try{
}catch(异常类型  对象){}
throws 抛出异常 ----->加载方法参数的后面 谁调用该方法
  • 1
  • 2
  • 3

6.集合

Collection
List:有序 可重复
ArrayList:底层数组:查询快 缺点:前提不是尾部元素 插入和删除慢
LinkedList:底层链表 :查询慢 优点:插入和删除快
Set:无序 不重复
HashSet:底层是按照hash表执行 。先按照hashcode表进行比对如果hash相同,则按照equals方法对比,如果equals也相同则视为同一个元素。
TreeSet:底层树形结构 元素排好序的。
LinkedHashSet:排好序的 按照添加的顺序
** Map**
HashMap:原理:map.put(keyvalue); map.get(key);
数组+链表+红黑树
在这里插入图片描述
在这里插入图片描述


总结

以上就是今天要讲的内容,本文仅仅简单介绍了JAVA的基础。

推荐阅读