java笔记

Java笔记
//Java数组类型:
//Java基本数据转换:大数据=小数据—>隐式转换
Int a=b;
小数据转大数据 —>类型强转
//基本数据类型的包装类:byte short int long float double char boolean
Byte Short Integer Long FLoat Doble Character Boolean 基本数据类型:八类 四种整形(byte short int long)两种浮点型(float double) 一种(boolean)
//拆包和加包
//java运算符:算数运算符a+=10;++ –
逻辑运算符 && || 是短路运算符
关系运算符 > < =
赋值运算符 =
位运算符& | ~ >> << >>>右移(可能改变数据正负) ^(异或)
//分支语句:if ,…else switch(整形/string 枚举)…case
循环语句for(){ } while() do while()
//一维数组 三种定义方式 int[] arr={1,2,3}; int[] arr=new int[]{1,2,3};int[] arr=new int[100];
//一维数组遍历 三种方式:for循环 foreach Arrays.ToString()
//扩容/缩容:arr=Arrays.copyOf(arr,arr.length*2);调用了arraycopy方法
//二维数组:int[][] arr={}{};(初始值为空)
二维数组遍历方式:for循环 遍历 foreach
foreach 方法 for(int[] brr:arr){
For(int[] a:brr)
{a;}}
二维数组拷贝方式:1. int[][] arr=new int[][] {{1,2,3},{1,2,3},{1,2,3}};
System.arraycopy(arr,0,brr,0,arr.length)
2.Arrays.copyof(arr.arr.length)
深拷贝//浅拷贝
//类 public private protected(受保护的)
//this引用:指向当前对象;或者调用构造方法(必须位于代码首行)(自身构造方法之间调用)(只能调用一个构造方法不能多调)。
//Static 静态修饰词:
修饰方法:修饰的方法得用类名访问。
修饰变量(类方法):不在堆上存放,在方法区(类里)里存在,无论多少对象,只有一份(归类所有) //类名.count
静态方法只能访问静态变量(类名.变量或类名.静态方法)
普通方法访问成员变量,静态方法没有this指针
//通过不同的调用方法改变变量的类型。普通调用;类调用
//String StringBulider StringBuffer:1.String含义为引用数据类型,是字符串常量.是不可变的对象,(显然线程安全)在每次对string类型进行改变的时候其实都等同与生成了一个新的String对象.然后指针指向新的String对象,所以经常改变内容的字符串最好不使用String,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了之后.JVM的垃圾回收(GC)就会开始工作,对系统的性能会产生影响

2.StringBuffer  线程安全的可变字符序列:对StringBuffer对象本身进行操作,而不是生成新的对象.所所以在改变对象引用条件下,一般推荐使用StringBuffer.同时主要是使用append和insert方法,
3.StringBuilder 线程不安全的可变字符序列.提供一个与StringBuffer兼容的API,但不同步.设计作为StringBuffer的一个简易替换,用在字符缓冲区被单个线程使用的时候.效率比StringBuffer更快

区别:
a.执行速度:StringBuilder > StringBuffer > String
b.线程安全:StringBuffer线程安全.StringBuilder线程不安全
c.String适用与少量字符串操作
StringBuilder适用单线程下在字符缓冲区下进行大量操作的情况
StringBuffer使用多线程下在字符缓冲区进行大量操作的情况
this指针:Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final 使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。
重载:

//单例模式:确保某个类有且只有一个对象的场景,避免产生多个对象消耗资源。
快加载 慢加载??:区别在于new对象的先后顺序,快加载先new对象,慢加载后new对象。
静态变量 静态块 实例变量 实例块 构造方法(分析快慢加载)
数组

//int[] a;声明一个数组;int[] a=new int[100];用这条语句创建了可以存储100个整数的数组。
编号从a[0]~a[99]

可以给一个循环 想要输出数组成员
int[] a=new int [100]; for(i=0,i<=a.length)
For(i=0,i<=99,I++) System.out.printIn(a[i]);
a[i]=i;//用0~99填充数组
//For each 循环
这种增强的for语句循环的格式为:For(variable:collection)statment
例如:for(int element:a)
System.out.printIn(element);这样就不用再担心下标引起的错误
创建数组并赋值的简写形式 还可以初始化一个匿名数组:
Int[] smallPrimes={1,2,3,4}; new int[]{17,19,22};
使用这个变量可以不创建新变量来重新初始化一个数组如:
smallPrimes=new int []{2,6,5,4};
//数组拷贝
可以将一个数组的变量赋予另一个变量:
Int []a=smallPrimes;
a[2]=10;这时候a[2]是10。
如果想要把数组所有值拷贝到另一个就要使用Arrays类的copyOf方法
Int[] copyda=Arrays.copyOfsmallPrime(a,a.length);
第二个参数是新数组的长度,通常用来更改数组的长度。
//每一个Java程序都必须有一个带String arg[]参数的main方法。这个参数的main方法将接收一个字符串数组,也就是命令行参数。
Public class message
{
Public static void main(string args[])
{
}
}
//返回包含a中的数据元素字符串,这些数据元素将被放在括号内,并用逗号隔开。
static

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值