7.14 晚上今天上的是Java数据类型,才发现基本数据类型有8种~ 以前一直没记住,只有模糊的概念,今天总算清楚了。
Java的八大基本数据类型:
byte 字节型 8bit
short 短整型 16bit
int 整型 32bit
long 长整型 64bit
float 单精度 32bit
double 双精度 64bit
boolean 布尔类型 true和false
char 字符型 16bit 只有正整数,每一个整数对应一个字母
基本数据类型中,
1.小心溢出,溢出是正负就想一个手表表面,可以看成是个圆的。正负的大数都相邻~ 譬如: byte 里面,-129 = +127 就是一个循环,笨一点的就数下去吧~
课上没听懂熊哥说的什么后几位~ 不晓得~ 只会笨的方法。
2.可强制转换。从低字节的强制转换为高字节的是可以的,从高字节强制转换为低字节也行。譬如byte a = (int)i;int i = (byte)a and so forth.
3.不同类型的不能转换,int跟float就不能转换了。
引用数据类型(对象类型或者类类型):
类,接口,抽象类,数组
String 在Java中是一个类,由class定义的类。
附上[size=large]String的函数使用方法[/size] 代码:
public class StringDemo{
//String的方法摘要
public static void main(String[] args){
//定义字符串变量
String str1 = "weizanzhushang";
System.out.println("字符串1 = "+str1);
String str2 = "lengxiaohuazanzhu";
System.out.println("字符串2 = "+str2);
//charAt,找到字符串str1的第4个索引位置的字符
char ch = str1.charAt(3);
System.out.println("第4位字符为:"+ch);
//codePointAt,找到str2中第四位的字符对应的ASCII的值;
int a = str1.codePointAt(3);
System.out.println("str1第4位字符数值为:"+a);
//codePointBrfore,找到str2中第四位(index)的字符对应的ASCII的值;
int b = str1.codePointBefore(3);
System.out.println("str1前3位字符数值为:"+b);
//codePointCount,begin-end index文本范围的长度
int c = str1.codePointCount(2,6);
System.out.println("str1字符数值为:"+c);
//equals,判断两个字符串是否相等
boolean state = str1.equals(str2);
System.out.println("str1与str2相等"+state);
//compareTo,比较首字符ASCII码的位置
int d = str1.compareTo(str2);
System.out.println("str1排str2前"+d);
//startsWith,是否以特定字符串开始,用boolean
boolean state1 = str1.startsWith("wei",3);
System.out.println("str1以wei开头吗"+state1);
//endsWith,以特定字符串结束,用boolean
boolean state2 = str1.endsWith("shang");
System.out.println("str1以shang结尾吗"+state2);
//hashCode,哈希码
int e = str1.hashCode();
System.out.println("字符串哈希码:"+e);
//indexOf,返回指定字符在此字符串中第一次出现处的索引。
int f = str1.indexOf('b');
System.out.println("a第一次出现的位子"+f);
//indexOf,(char a,int i),从第i个位搜索a出现的位置
int g = str1.indexOf('a',f+1);
System.out.println("a第二次出现的位子"+g);
//lastIndexOf,字符最后一次出现的位子
int h = str1.lastIndexOf('a');
System.out.println("a最后出现的位子"+h);
//substring,取字符串
String str3 = str1.substring(3,7);
System.out.println("字符串3:"+str3);
//length,字符串长度
int i = str2.length();
System.out.println("str2长度"+i);
//concat,字符串连接
String str4 = str1.concat(str2);
System.out.println("字符串1跟2的连接"+str4);
//split,字符串分割
String [] array = str1.split("a");
for(int j=0;j<array.length;j++){
System.out.println(array[j]);
}
//toCharArray,把字符串转换为一个字符数组
char [] array1 = str1.toCharArray();
System.out.println(array1);
}
}
附上[size=large]统计字符串中每个字符的个数[/size]代码:
public class Tongji2{
//统计每个字符出现次数
public static void main(String [] args){
//定义字符串
String str = "nixiangzenmegaozenmegaone";
for(int m=0;m<str.length();m++){
//设置外部循环,取得每个字符
char ch = str.charAt(m);
//计算每个字符出现的次数
int i=0;
int j=0;
while(j<str.length()){
if(str.charAt(j)==ch){
i++;
}
j++;
}
//控制输出,同一个字符不再输出
for(int n=0;n<str.length();n++){
str=str.replace(ch,' ');
}
if(ch!=' ')
System.out.println(ch+"出现了"+i+"次");
}//for
}
}
本代码是经学长指导,自己再改编的。
开始还有一以为是统计一个字符的个数,然后后来再审题发现不对了。审题很重要!
一个良好的程序是离不开好的算法的,做题有多种方法,要选最优的。
先说说这个解题思路吧。
首先控制外部循环;
用for语句,得到字符串中字符;
各字符都在字符串中寻找一遍,得到各个字符的出现次数。
最后输出字符,因为字符可能重复出现,·用个replace函数把输出过的字符用“ ”(空格)代替,输出时,用if语句控制不输出空格。
Java的八大基本数据类型:
byte 字节型 8bit
short 短整型 16bit
int 整型 32bit
long 长整型 64bit
float 单精度 32bit
double 双精度 64bit
boolean 布尔类型 true和false
char 字符型 16bit 只有正整数,每一个整数对应一个字母
基本数据类型中,
1.小心溢出,溢出是正负就想一个手表表面,可以看成是个圆的。正负的大数都相邻~ 譬如: byte 里面,-129 = +127 就是一个循环,笨一点的就数下去吧~
课上没听懂熊哥说的什么后几位~ 不晓得~ 只会笨的方法。
2.可强制转换。从低字节的强制转换为高字节的是可以的,从高字节强制转换为低字节也行。譬如byte a = (int)i;int i = (byte)a and so forth.
3.不同类型的不能转换,int跟float就不能转换了。
引用数据类型(对象类型或者类类型):
类,接口,抽象类,数组
String 在Java中是一个类,由class定义的类。
附上[size=large]String的函数使用方法[/size] 代码:
public class StringDemo{
//String的方法摘要
public static void main(String[] args){
//定义字符串变量
String str1 = "weizanzhushang";
System.out.println("字符串1 = "+str1);
String str2 = "lengxiaohuazanzhu";
System.out.println("字符串2 = "+str2);
//charAt,找到字符串str1的第4个索引位置的字符
char ch = str1.charAt(3);
System.out.println("第4位字符为:"+ch);
//codePointAt,找到str2中第四位的字符对应的ASCII的值;
int a = str1.codePointAt(3);
System.out.println("str1第4位字符数值为:"+a);
//codePointBrfore,找到str2中第四位(index)的字符对应的ASCII的值;
int b = str1.codePointBefore(3);
System.out.println("str1前3位字符数值为:"+b);
//codePointCount,begin-end index文本范围的长度
int c = str1.codePointCount(2,6);
System.out.println("str1字符数值为:"+c);
//equals,判断两个字符串是否相等
boolean state = str1.equals(str2);
System.out.println("str1与str2相等"+state);
//compareTo,比较首字符ASCII码的位置
int d = str1.compareTo(str2);
System.out.println("str1排str2前"+d);
//startsWith,是否以特定字符串开始,用boolean
boolean state1 = str1.startsWith("wei",3);
System.out.println("str1以wei开头吗"+state1);
//endsWith,以特定字符串结束,用boolean
boolean state2 = str1.endsWith("shang");
System.out.println("str1以shang结尾吗"+state2);
//hashCode,哈希码
int e = str1.hashCode();
System.out.println("字符串哈希码:"+e);
//indexOf,返回指定字符在此字符串中第一次出现处的索引。
int f = str1.indexOf('b');
System.out.println("a第一次出现的位子"+f);
//indexOf,(char a,int i),从第i个位搜索a出现的位置
int g = str1.indexOf('a',f+1);
System.out.println("a第二次出现的位子"+g);
//lastIndexOf,字符最后一次出现的位子
int h = str1.lastIndexOf('a');
System.out.println("a最后出现的位子"+h);
//substring,取字符串
String str3 = str1.substring(3,7);
System.out.println("字符串3:"+str3);
//length,字符串长度
int i = str2.length();
System.out.println("str2长度"+i);
//concat,字符串连接
String str4 = str1.concat(str2);
System.out.println("字符串1跟2的连接"+str4);
//split,字符串分割
String [] array = str1.split("a");
for(int j=0;j<array.length;j++){
System.out.println(array[j]);
}
//toCharArray,把字符串转换为一个字符数组
char [] array1 = str1.toCharArray();
System.out.println(array1);
}
}
附上[size=large]统计字符串中每个字符的个数[/size]代码:
public class Tongji2{
//统计每个字符出现次数
public static void main(String [] args){
//定义字符串
String str = "nixiangzenmegaozenmegaone";
for(int m=0;m<str.length();m++){
//设置外部循环,取得每个字符
char ch = str.charAt(m);
//计算每个字符出现的次数
int i=0;
int j=0;
while(j<str.length()){
if(str.charAt(j)==ch){
i++;
}
j++;
}
//控制输出,同一个字符不再输出
for(int n=0;n<str.length();n++){
str=str.replace(ch,' ');
}
if(ch!=' ')
System.out.println(ch+"出现了"+i+"次");
}//for
}
}
本代码是经学长指导,自己再改编的。
开始还有一以为是统计一个字符的个数,然后后来再审题发现不对了。审题很重要!
一个良好的程序是离不开好的算法的,做题有多种方法,要选最优的。
先说说这个解题思路吧。
首先控制外部循环;
用for语句,得到字符串中字符;
各字符都在字符串中寻找一遍,得到各个字符的出现次数。
最后输出字符,因为字符可能重复出现,·用个replace函数把输出过的字符用“ ”(空格)代替,输出时,用if语句控制不输出空格。