一、Java的基本数据类型
八大基本数据类型
类型 | 称呼 | 值域 | 范围 |
byte | 字节型 | 8 bits | -128~127 |
int | 整型 | 32 bits | -2147483648 ~ 2147483647 |
short | 短整型 | 16 bits | -32768~32767 |
long | 长整型 | 64 bits | |
char | 字符型 | 16 bits | 0~65535 |
float | 单精度浮点型 | 32 bits | |
double | 双精度浮点型 | 64 bits | |
boolean | 布尔型 | true/false |
|
二、数据类型的定义
1.程序中整数默认为int型
2.整数转型:小范围的整数类型值可以通过赋值运算直接转为大范围的类型,方向为byte-short-char-int-long-float-double;反之,需要强制转换,方式为在值前加括号,括号内输入需转的类型。输出结果只取该类型可取到的后n位数。
三、引用数据类型(对象类型或者类类型)
类,接口,抽象类,数组
String是Java中的一个类,由class定义。可以直接赋值创建,也可通过String类创建对象。
常见调用方法:
注意有的字符、字符串均可用,有的只能用字符串
//String调用方式
public class StringTrain{
public static void main(String [] args){
String st1 = "abababab";
String st2 = "abcdabcd";
String st3 = "abcdabcd";
System.out.println("st1 = "+st1+"\nst2 = "+st2+"\nst3 = "+st3);
//返回指定索引处的 char 值
char c = st2.charAt(4);
System.out.println("c = "+c);
//将此字符串与指定的对象比较
boolean state = st2.equals(st3);
System.out.println("state = "+state);
//当且仅当此字符串包含指定的 char 值序列时,返回 true
state = st2.contains("abc");
System.out.println("state = "+state);
//返回在此字符(串)中第一次出现指定字符处的索引,从指定的索引开始搜索
int index = st2.indexOf("c",4);
System.out.println("index = "+index);
//返回指定字符(串)在此字符串中最后一次出现处的索引
index=st1.lastIndexOf('b');
System.out.println("index = "+index);
//返回此字符串的长度
int l = st2.length();
System.out.println("st2 l = "+l);
//根据给定正则表达式的匹配拆分此字符串(分割,不再有"b",不能是字符)
String [] array = st1.split("b");
for(int i=0;i<array.length;i++){
System.out.print(array[i]+"\0");
}
System.out.println();
//返回一个新字符串,它是此字符串的一个子字符串(截取)
String s = st2.substring(2,5);
System.out.println("s = "+s);
//按字典顺序比较两个字符串
int i = st1.compareTo(st2);
System.out.println("i = "+i);
//将指定字符串连接到此字符串的结尾
String str = st1.concat("cd");
System.out.println("str = "+str);
//测试此字符串是否以指定的后缀(字符串)结束(开始用startsWith)
boolean bl1 = str.endsWith("cd");
System.out.println("bl1 = "+bl1);
//当且仅当 length() 为 0 时返回 true
boolean bl = st1.isEmpty();
System.out.println("bl = "+bl);
//返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的
String st4 = st1.replace('a','e');
System.out.println("st4 = "+st4);
//使用默认语言环境的规则将此 String 中的所有字符都转换为大写(转小写为toLowerCase)
String st5 = st2.toUpperCase();
System.out.println("st5 = "+st5);
//返回int参数的字符串表示形式(boolean,char,char[],int,float,doub,long,object)
String st6 = String.valueOf(i);
System.out.println("st6 = "+st6);
}
}
//统计某字符串中各字符出现次数
public class StringCount{
public static void main(String [] args){
String str = "abcdgedgedsleidgd";
int l = str.length(),bl = 1;
System.out.println("str = "+str);
for(int i = 0;i < l;i++){
int n = 0;
for(int j = 0;j < l;j++){
if(str.charAt(i)==str.charAt(j))
n++;
}
//如果只用两个for循环会依次列出每个字符出现的次数,包括重复的
if(n==1)
System.out.println(str.charAt(i)+" appears "+n+" time");
else{
for(int k = 0;k<i;k++){
if(str.charAt(i)!=str.charAt(k))
bl = 1;
//只要字符在前边出现过,立即跳出循环,不输出
else{
bl = 0;
break;
}
}
if(bl == 1)
System.out.println(str.charAt(i)+" appears "+n+" times");
}
}
}
}