java学习笔记
含有main()方法的类称为主类
文件名(.java文件)必须和主类名相同
pakage xxx 为声明该类所在的包xxx
import 导入包 可通过JDK的API文档查看
基本数据类型:
byte(8bit) short(16) int(32) long(64) float(32) double(64) char(16bit) boolean(8)
long
若long赋值的值大于int的范围则需在其后加L或l eg.long a = 123456789456L
float double
声明float时若数字后不加f则会被认为是double类型,报错。声明double时可加可不加d
声明常量
final 数据类型 常量名称[=值]
Java中static是什么意思,有什么作用?
1. 静态方法 通常,在一个类中定义一个方法为static,那就是说,无需本类的对象即可调用此方法
声明为static的方法有以下几条限制:
. 它们仅能调用其他的static 方法。
· 它们只能访问static数据。 · 它们不能以任何方式引用this 或super。
调用一个静态方法就是“类名.方法名”,静态方法的使用很简单如上所示。一般来说,静态方法常常为应用程序中的其它类提供一些实用工具所用,在Java的类库中大量的静态方法正是出于此目的而定义的。此类方法,不需要创建对象。
2. 静态变量
声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。静态变量与静态方法类似。所有此类实例共享此静态变量,也就是说在类装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间,当然对于final则另当别论了
3.静态类
通常一个普通类不允许声明为静态的,只有一个内部类才可以。这时这个声明为静态的内部类可以直接作为一个普通类来使用,而不需实例一个外部类。
4.static和final一块用表示什么
static final用来修饰成员变量和成员方法,可简单理解为“全局常量”!
对于变量,表示一旦给值就不可修改,并且通过类名可以访问。
对于方法,表示不可覆盖,并且可以通过类名直接访问。
位运算符
&按位与 |按位或 ~按位取反 ^按位异或 >>>无符号右移
>>(如果最高位是1,右移的空位就补1 ; 0则补0)
>>>(无论最高位是1\0,最高位都补0)
顺序执行语句
switch语句中的的值除了为整形或字符外,还可以为字符串
for( int x : arr) { } == python中的 for x in arr :
String类
需 import java.lang.*;
1.创建字符串
String a = 'abc';
char a[] ={'g','o','o','d'}; String s = new String(a);
String s = new String(a,2,4);
2.字符串连接
用+进行连接
当用+进行非字符串类型连接时,系统会自动调用toString()方法让其变成字符串
3.获取字符串的信息
str.length()
str.indexOf(substr)
str.lastIndexOf(substr)
str.charAt(int index)
str.substring(int beginIndex) str.substring(int beginIndex,int endIndex)
str.trim() //去除前导空格和尾部空格
str.replace(char oldChar,char newChar)
str.startsWith(String prefix) //判断前缀是否为prefix 返回boolean
str.endsWith(String suffix)
4.比较字符串是否相等
错误示范:String tom = new String("a") String lily = new String("a")
boolean b = (tom = lily)
会返回false 原因是tom、lily是引用,地址值不同
要比较需要用:
str.equals(String otherstr) //区分大小写 返回boolean
str.equalsIgnoreCase(String otherstr) //不区分大小写 返回boolean
str.compareTo(String otherstr) //按字典顺序比较两个字符串 返回0,1,-1
5.字母大小写转换
str.toLowerCase()
str.toUpperCase()
6.字符串分割
str.split(String sign) //返回一个字符串数组 sign为分割字符串的分隔符,也可以使用正则表达式
若想定义多个分隔符,可以使用符合'|' ,如 “,|=”表示分割符分别为,和=
str.split(String sgn,int limit) //限制分割的次数