Java1

java记录

常见命名约定

在这里插入图片描述

自增自减

参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者–参与操作的时候,如果放在变量的前边,先拿变量做++或者–,后拿变量参与操作。

int i =1;
int j;
j=i++;
//j=i;
//i=i+1;
j=++i;
//i=i+1;
//j=i;
在这里插入代码片

标题

类和对象

类:
class Example{
int x;//属性
String s;//属性
//生命方法
int add3(int a){
return a+3
}
// example类的构造方法
Example(){
x=10
s=null
}
}
对象:
Example a =new Example();
在这里插入代码片

输入输出

输出:
public class Hello{
 public static void main(String[] args){
     System.out.println("Hello Word")
     }
    }
输入:
import java.util.Scanner
public class Input{
public stastic void main(String[] args){
Scanner scanner= new Scanner(System.in);
int a=scanner.nextInt();
System.out.println(a);
}
}

创建变量

数组:
int[] a=new int[10];

流程控制

分支:
int x =3;
switch(x){
case 1 -> System.out.println("is 1");
case 2 -> System.put.println("is 2");
case 2 -> System.put.println("is 3");
}

面向对象

封装:
class Circle{
private double r;
private double pi=3.14;
  void setR(double x){
  this.r=x;
  }
  double getR(){
   return this.r;
  }
  double ComputerArea(){
    return pi*r*r;
  }

)
继承:
public class test{
 public static void main(String[] args){
   Student zhangsan = new Student();
   }
}
class Person {
  String name;
  int age;
  }
class Student extend Person{
  int grade;
  }
子类构造:
class father{
  int fx;
  String fname;
  father(){
  fx=1;
  fname=null;
  }//无参数构造方法
  father(int x,String s){
  fx=x;
  fname=s;
  }//有参数构造方法
  void speakOI(){
  System.out.println("oi!");
  }
}
class son extends father{
      double sy;
      son(int x,Sting s,double y){
      super(x,s);
      sy=y;
      }
      void valueTOX(int x){
      super.fx=x;//d调用父类属性
      }
      void speak(){
      super.speakOI();//调用父类方法
      }
}

继承多例子:

   
  

水仙花

public class test{
	public static void main(String[] args){
	for(i=100;i<1000;i++){
		int a=i%10;
		int b=i/10%10;
		int c=i/100%10;
		if(a*a*a+b*b*b+c*c*c==i){
			System.out.println(i);
		}
	}
}
}

集合

在这里插入图片描述
ArrayList底层是数组,查询快(get,contain)增删(add,remove)慢,LinkedList底层是链表,查询慢,增删快。
ArryList:
List list = new ArrayList();
List是接口,ArrayList是它的实现类
面向接口编程
提高程序宽展性,以后修改维护好些
声明一个接口的变量(接口的引用)可以指向一个实现类(实现该接口的类)的实例, 但是该接口的变量不能使用实现类中有,接口中没有的方法(实现类中没有重写的方法,自添加的方法)。
Hashset
不包含重复元素,无序
允许有null值,不是线程安全的。
无重原理:通过hashCode值来判断重复元素的。
int hashCode():返回哈希值。同一对象哈希值相同,不同对象的哈希值默认不同,方法重写后可以相同。
哈希表是元素为链表的数组,默认容量16,负载因子0.75,处理冲突方法是链地址法。

泛型?

Hash Map<K,V>
HashMap键是对象,并且要求对象内成员变量值相等视为同一对象,则重写hashCode().
Set(无序不可重复)

i/o流(没怎看)

在这里插入图片描述
路径斜杠可以是//,/,\,不能是\,因为它是转义符。

多线程

java是抢占式调度模型

优先级:每一个 Java 线程都有一个优先级,优先级是一个整数,其取值范围是 1 (Thread.MIN_PRIORITY ) - 10 (Thread.MAX_PRIORITY )。
默认情况下,每一个线程都会分配一个优先级 NORM_PRIORITY(5)。
优先级高的线程只是获取CPU时间片的几率高,并不能保证先执行。

创建线程方法:
通过实现 Runnable 接口;
优点:
(1)避免由于 Java 单继承带来的局限性
(2)逻辑和数据更好分离。通过实现 Runnable 接口的方法创建多线程更加适合同一个资源被多段业务逻辑并行处理的场景。在同一个资源被多个线程逻辑异步、并行处理的场景中,通过实现 Runnable 接口的方式设计多个 target 执行目标类可以更加方便、清晰地将执行逻辑和数据存储分离,更好地体现了面向对象的设计思想

通过继承 Thread 类本身;
通过 Callable 和 Future 创建线程。

线程同步(?不是很懂)

网络编程()

Lambda表达式

Lambda表达式是一个对象,必须有上下文环境,作用是实现单方法的接口。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值