知识梳理(一)

目录

前言

一、数据类型

1.基本数据类型

2.引用数据类型

3.数据类型强制转换

二、运算符

三、一些常用类和方法及经典算法

四、流程控制(分支语句)

1. if else 多种用法

2.swith用法

五、循环语句

1.for循环

2.while循环

3.do while循环

4.死循环

5.break和continue

六、数组

1.一维数组

2.二维数组

七、集合

1.集合的定义

2.集合的几种方法

八、面向对象

1.类

2.属性

3.对象

4.函数(方法)

5.构造函数

1.无参构造函数

2.有参构造函数

总结


一、数据类型

数据类型分为基本数据类型(4类8种)和引用数据类型

1.基本数据类型

整型(整数) : byte(字节型)    short(短整型)    int(整型)(常用)    long(长整型)
浮点型(小数) : float(单精度浮点型)    double(双精度浮点型)
字符型(单个符号) : char
布尔型(判断对错) : boolean

2.引用数据类型

String、数组、类、接口、基本数据类型的封装类型.......

3.数据类型强制转换

隐式转换(直接转换) : 直接将小的数据类型转换成大的数据类型
强制转换 : 将大的数据类型转换成小的数据类型

二、运算符

算术运算符:  +   -   *   /   %   ++   --
比较运算符:  >   <   ==(等于)    !=(不等于)   >=   <=
赋值运算符:  +=     -=    *=     /=
三目运算符:  ? :
逻辑运算符: &      |      !      ^    &&(短路与)    ||(短路或)
位运算符: &(按位与)       |(按位或)      ^(按位异或 )     ~(按位取反) 
                  >>(有符号右移)       <<(左移)         >>>(无符号右移)

三、一些常用类和方法及经典算法

//扫描器
Scanner sc = new Scanner(System.in);

//随机数
int a = (int)(Math.radom()*100);

//比较字符串是否相同(返回boolean值)
m.equal(n);

//开方
Math.sqrt(c);

//数组内的元素排序
Array.sort(arr);

//冒泡排序
for(int i = 0; i < arr.length - 1; i++) {
			for(int j = 0; j < arr.length - i - 1; j++) {
				if(arr[j] > arr[j + 1]) {
					int temp = arr[j];
					arr[j] = arr[j + 1];
					arr[j + 1] = temp;
				}
			}


//二分查找
int start = 0;//第一个元素的下标
		int end = arr.length - 1;//最后一个元素的下标
		while(start <= end) {
			int mid = start  + (end - start) / 2;
			if(num < arr[mid]) {
				end = mid - 1;
			}else if(num > arr[mid]){
				start = mid + 1;
			}else {
				System.out.println("您要找的元素的下标是:" + mid);
				break;
			}
		}

四、流程控制(分支语句)

1. if else 多种用法

①: if (条件表达式/值) {执行语句1}

②: if (条件表达式/值) {执行语句1}

         else {执行语句2}

③: if (条件表达式/值) { 执行语句1}

        else if (条件表达式/值){执行语句2}

        else if (条件表达式/值){执行语句3}

        else{执行语句4}

④: if ( 条件表达式/值) {

         if(条件表达式/值){执行语句1}

         else{执行语句2}

        }

2.swith用法

switch(条件表达式/值){
     case 值1:
          执行语句1;
         break;
    case 值2:
        执行语句2;
        break;
       ....
    case 值n:
        执行语句n;
        break;
   default:

         执行语句n+1;
 }

五、循环语句

1.for循环

 for(初始化条件表达式;条件表达式;控制条件表达式){
         循环的语句体;
 }

执行流程:
1、执行初始化条件表达式,只执行一次
2、执行条件表达式,看条件是否符合,如果结果为true就执行语句体,如果为false循环结束
3、执行循环语句体
 4、执行完成之后,对原来的条件做改变,执行控制条件表达式

2.while循环

while(条件表达式){
       语句体;
       控制条件表达式;
}


执行流程:
1、执行初始化条件表达式
 2、执行条件表达式,如果结果为true就执行循环体,如果结果为false就不执行
3、执行循环体
4、执行控制条件表达式

3.do while循环

 do{   循环体;
        控制条件表达式;
}while(条件表达式);


执行流程:
1、执行初始化条件表达式
2、执行循环体
3、执行控制条件表达式
4、执行条件表达式,如果条件表达式为true,就执行循环体,如果为false,就不执行

4.死循环

①:for(;;) {}

②:for(int i = 1; ; i++) {}

③:while(true) { }

5.break和continue

break:跳出当层循环,如只有一层循环则停止循环

continue:跳过这一次循环,继续下一次循环

六、数组

1.一维数组

概念:数组是用来存储多个相同数据类型的元素的集合

动态初始化,先开辟空间,在存储值
       数据类型[] 数组名 = new 数据类型[数组长度];
       静态初始化,一边存储值,一边开辟空间
       数据类型[] 数组名 = {值1,值2,值3......};
       数据类型[] 数组名 = new 数据类型[]{值1,值2,值3......};

int[] a = new int[5];
int[] b ={1,3,2};

1、数组中的元素的数据类型必须是一致的
2、当定义数组的时候,会开辟连续的内存空间,存储数据元素,我们可以通过连续内存空间的地址
        来访问数组中的元素
3、数组是引用数据类型
4、数组中的元素的数据类型可以是基本数据类型,也可以是引用数据类型
5、数组的长度一旦定义就不可以改变了

2.二维数组

        动态初始化:
        数据类型[][] 数组名 = new 数据类型[m][n];
m:二维数组中有几个一维数组
n:一维数组中有几个元素
m必须有值,n可以没有值
        静态初始化:
         数据类型[][] 数组名  = {{元素1,元素2...},{元素1,元素2...},...};

int[][] a = new int[5][];
int[][] b = new int[5][4];
int[][] b = {{1,8,4}{2,7}};

七、集合

1.集合的定义

ArrayList<引用数据类型>  变量名 = newArrayList<引用数据类型>(); 

ArrayList<String> s =new ArrayList<String>();

2.集合的几种方法

add(E   obj) :将指定元素obj追加到集合的末尾    
add( int index, E  obj) :将指定的元素obj插入到index的位置 
get(int index) :返回集合中指定位置上的元素       
size() : 返回集合中的元素个数 
add(int index, Object ob) : 将指定元素obj插入到集合中指定的位置 
remove(int index) :  从集合中删除指定index处的元素,返回该元素
clear()  : 清空集合中所有元素                    
set(int index, Object obj) :  用指定元素obj替代集合中指定位置上的元素

八、面向对象

1.类

类:具有相同的属性或者特性的一类事物

2.属性

访问控制修饰符 数据类型 属性名;
访问控制修饰符:
private(私有的):使用private修饰的元素,只能在同一个类中访问
public(公有的):使用public修饰的元素,可以在整个项目中访问
默认不写的(package/default):使用default修饰的元素可以在同一个类和同一个包中访问
protected(受保护的):使用protected修饰的元素可以在同一个类,同一个包,不同包的子类中访问

    public String eid;
    private String name;
    int age;

3.对象

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

Dog a = new Dog();

4.函数(方法)

 访问控制修饰符 返回值的数据类型/void 方法名(数据类型 参数名1,数据类型 参数名2...){
                                         方法体;
                                return 值;}

//方法根据有没有参数和有没有返回值

//无参无返回
public void a() {
	}

//无参有返回
public void a() {
int c =0;
    return c;
	}

//有参无返回
public void a(int b) {
	}

//有参有返回
public void a(int b) {
    return b;
	}


//set 方法
public void setId(int id){
    this.id = id
}

//get 方法
public int getId(){
    return id;
}

//toString 方法
public String toString(){
return id;
} 

5.构造函数

        1.无参构造函数

                访问控制修饰符 类名(){
                }

public Student(){
}

        2.有参构造函数

                访问控制修饰符 类名(参数列表){
                  this.属性 = 参数;
                }

public Student (int id){
this.id = id;
}

总结

        以上就是学习java两周的所有内容,只要是列了一下重要的知识点,没有深入,希望通过这种知识梳理的方法,锻炼自己的信息归类能力,当自己看到一个知识点时能够上下延申

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值