Java学习心得

1、java里定义常量用的是final而非const

2、Java里的输入输出要加system.out/system.in(这就是我第一门语言学的不是Java的原因,太繁琐了,包括定义函数定义类也很麻烦)

3、java中输出print和println除了后者多个换行以外没有任何区别,而printf与C中的printf一样,可以控制输出格式

4、java里没有bool型,取而代之的是boolean

5、在java里的循环前面可以起个别名,方便跳出最外层循环

6、java里的整型范围与运行java的机器无关,这就保证了跨平台也能完美运行。而C/C++会根据不同的处理器选择不同位数的整型,跨平台移植就会出现很多问题

7、java里不存在任何无符号形式的int、long、short或byte类型

8、可以用十六进制表示浮点数:p表示指数(e由于表示十六进制的14所以不用e),指数的基数是2而不是10

9、java里没有C语言的指针,很多地方操作不方便,不过也不用担心指针操作出错的问题

10、在做字符串拼接时候一定要用双引号,若是用单引号则有可能转换成asc码进行加减运算(python则没有这种问题)

11、关于包裹类型Character的一些功能:
isDigit(ch):判断字符是否是数字;
isLetter(ch):判断字符是否是字母;
isLetterOrDigit(ch):判断字符是不是字母或数字;
isLowerCase(ch):判断是否是小写字母;
isUpperCase(ch):判断是否是大写字母;
isWhitespace(ch):判断是否是空格;
toLowerCase(ch):把字符转换成小写;
toUpperCase(ch):把字符转换成大写;

12、不能用foreach循环来遍历字符串

13、s.substring(a[,b])——得到从a号位置开始到b号位置之前的内容,若省略第二个参数则默认截取到结尾

14、寻找字符的方法——s.indexOf():
(1)、s.indexOf©——得到c字符所在的位置
(2)、s.indexOf(c,n)——从n号位置开始寻找c字符
(3)、s.indexOf(str)——找到字符串str所在的位置

15、String常用操作:
(1)、s.startsWith(str)——判断s是否是以str为开头的字符串
(2)、s.endsWith(str)——判断s是否是以str为结尾的字符串
(3)、s.trim()——去掉字符串两端的空白
(4)、s.replace(c1,c2)——将字符串s中的c1字符串用c2来替换
(5)、s.toLowerCase()——将字符串s中所有大写全部换小写
(6)、s.toUpperCase()——将字符串s中所有小写全部换大写
注:所有的字符串都是不可变的,对字符串的所有操作都是新生成一个新的字符串,原字符串不会改变

16、switch-case中也可以用字符串判断

17、java里只有值传递,没有地址传递,没有引用传递。所以要交换两个变量可以这么写:

private static int x,y;
public static void swap(Test a){
	int t=a.x;
	a.x=a.y;
	a.y=t;
}
public static void main(String args[]){
   		Scanner in=new Scanner(System.in);
   		Test a=new Test();
   		a.x=in.nextInt();
   		a.y=in.nextInt();
   		swap(a);
   		System.out.println(a.x+" "+a.y);
}

即通过修改一个新的对象(该对象包括即将交换的两个变量值)间接来交换两个变量的值(挺纳闷java为啥不出个类似引用的东西)

18、split(“c”)——以c字符串为分隔符切分字符串(不能省略)

19、String、int之间的相互转换:
(1)、int转化为String:

String s=""+i;
String s=Integer.toString(i);
String s=String.valueOf(i);
	(2)、String转化为int型:
int i=Integer.parseInt(s);	//parseInt也可以有第二个参数,代表各种进制
int i=Integer.valueOf(s).intValue();
	(3)、int转化为Integer:
Integer integer=new Integer(i)
	(4)、Integer转化为int:
int i=Integer.intValue()
	(5)、Integer转化为String:
Integer integer=String()
	(6)、String转化为Integer:
Integer integer=Integer.valueOf(str)

20、包装类型和原始类型:
Boolean——boolean
Character——char
Byte——byte
Short——short
Integer——int
Long——long
Float——float
Double——double

21、Integer和int的区别:
(1)、int初值为0是种数据类型,而Integer初值为NULL是种对象
(2)、两个new出来的Integer一定不相等,因为内存地址不一样
(3)、int和Integer比都为true,因为Integer会自动拆箱为int去比较
(4)、若两个非new出来的Integer,如果数在-128到127之间则为true,否则为false
注:因为valueOf会对-128到127之间的数进行缓存

22、valueOf和parseXXX用法:
parseXXX返回值都为基本类型,且参数只能为String
而valueOf返回的都是对应的对象类型,且会自动调用parseXXX,参数为String或者其他类型

23、在C++中bool型和整型可以相互转化,0代表false,非0代表true,而java中不能够互相转化

24、equalsIgnoreCase()用来比较两个字符串是否相等(不区分大小写),返回的是boolean型。compareTo()也能比较两个字符串是否相同,若相同则返回的是0,否则非0

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值