以下是我写的一些东西对一些java刚起步的同学可能会有点帮助,如果你已是一个高手或有点编程经验的人,你完全可以不用浪费时间来看这篇文章了,小弟在这也只是抛砖引玉,希望能有更多的高手来指教,如下是我的一些理解:
1、在做比较的时候,大家可能很清楚,“==”是对象比较,而equals是值比较,如:
String a=new String("a");
String b=new String("a");
很显然 a==b返回false,a.equals(b)返回true;但是在进行自定义类使用equals的时候需要注意了,如:
MyClass a=new MyClass("a");
MyClass b=new MyClass("a");
a.equals(b)返回仍然是false,这个时候仍然是reference比较,如果要想他们相等,只能重写equals;
2、在使用赋值的时候需要注意值的范围,如:
int num=0x7fffffff;
System.out.println("num1:"+num);
System.out.println("num2:"+num*10);
结果是:
num1:2147483647
num2:-10
内存会溢出,但是java编译器并不会报错;
3、在float、double类型向int类型或char类型转换的时候,小数点后面的值都会给去了,不管它等于多少,如:
char c='a';
int num=(int)10.9;
System.out.println((char)c+0.7);
System.out.println("char:"+(char)(c+0.7));
System.out.println(num);
输出的结果是:
97.7
char:a
10
4、在if条件运算表达式中,它只接受boolean类型的值,但是有个有趣的写法是:
boolean a=true;
boolean b=false;
if(a=b)//注意了,这个地方编译器是不会报错的,除了两个变量都是boolean的时候才能这样写,否则编译报错;
5、最后一点我来举一个比较有趣的例子来让大家思考一下:
1、
String a="init";
try{
a="try";
return a;
}finally{
a="finally";
}
2、
String a="init";
try{
a="try";
return a;
}finally{
a="finally";
return a;
}
3、
String a="init";
try{
a="try";
System.exit(0);
return a;
}finally{
a="finally";
return a;
}
输出的分别是什么呢?
1、try;2、finally;3:不输出;
可能会有一些疑惑的,在示例1中其实finally是执行的,只不过在jvm中只接受最后一个return,在示例3中是整个jvm都退出了,所以理所当然的就不输出了。
分享到:
相关推荐
"Java完整随笔(学习)"可能包含了一系列关于Java编程的基础到高级概念的笔记,是学习Java的好资源。以下是一些可能涵盖的重要知识点: 1. **Java基础**:这部分可能包括了Java的基本语法,如变量、数据类型、...
Java 调试技术概述 Java 调试是指使用程序调试工具来检查和纠正 Java 程序中的错误和异常。调试是软件开发过程中不可或缺的一步,它可以帮助开发者更好地理解程序的执行流程,从而提高程序的质量和可靠性。 Debug...
Java 记录随笔 Java 记录随笔是关于 Java 软件架构设计的笔记,涵盖了软件架构的基本原则、当前流行的技术、数据库存储结构、Web 界面用户接口层、业务层架构、持久层技术、XML 结构化信息传输和存储的重要性等多个...
【Java - 框架 - Knife4j】随笔 在Java Web开发中,文档的生成与维护是一项重要但繁琐的工作。Knife4j,作为一款专门为Java RESTful API设计的文档增强工具,它极大地简化了这个过程,为开发者带来了诸多便利。本篇...
Java中的方法是编程中至关重要的概念,它封装了一段可重复使用的代码,使得程序更加模块化,提高了代码的复用性和可读性。方法的定义和调用是编写Java程序的基础。 方法的定义通常包括访问修饰符(如public)、静态...
之前上传了JAVA笔记1 那么这次是JAVA笔记2 衔接上一次的
Java中的数组是一种基础且重要的数据结构,用于存储同种数据类型的多个值。数组提供了一种高效的方式来管理和操作一组数据,可以是整数、浮点数、字符或自定义对象。在Java中,数组的定义有两种格式: 1. `数据类型...
本项目是一款基于Java和跨平台技术的crostitch涂鸦随笔设计与实现源码,包含65个文件,其中包括30个Java源文件、16个PNG图片文件、7个JavaScript文件、2个XML文件、1个Git忽略文件、1个Markdown文件、1个Maven项目...
Java编程语言中,进制是理解计算机底层运算的基础。进制是指进位制,即在进行数字运算时,逢特定基数进位。例如,十进制逢十进一,二进制逢二进一,八进制逢八进一,十六进制则是逢十六进一。学习不同进制能帮助我们...
java课堂随笔,我这还有很多,有需要的话可以联系我,我会为大家提供很多的资料
IntelliJ IDEA,简称IDEA,是一款广受好评的Java集成开发环境,由JetBrains公司开发。它以其高效、智能的编码辅助和丰富的功能集,成为许多开发者首选的Java编程工具。IDEA不仅支持Java,还支持其他多种编程语言如...
在本文中,我们将深入探讨如何在Ubuntu操作系统上搭建一个完整的Java项目运行环境,包括安装Java Development Kit (JDK) 1.8、MySQL 5.7数据库服务以及Apache Tomcat 9应用服务器。这个过程对于任何希望在Linux环境...
JavaThings - Java安全漫谈笔记相关《Java安全漫谈》是我在写的一点Java学习相关的随笔,不是很严谨,也不是啥高。这个存储库主要是记录并整理一下,附加一些代码。Java 安全漫谈目录Java安全漫谈 - 01.Java的动态...
在实际应用中,Java代码可能会通过Ajax发送一个请求到服务器,服务器解析请求后调用对应的JS函数,例如在"des.js"中执行解密操作,然后将结果返回给Java。"des.html"可能是展示解密结果的界面,"des.java"负责处理...
作者是享誉国内外的Java高手,除了技术相关的文章之外,他也没有僭越自己的专业,随笔中所提及的都是软件产业里的甘苦点滴。不眠之夜,一本蔡学镛的《Java夜未眠》恰能适应你的心情,就像一杯清香醇厚的咖啡,让孤独...
SpringSecurity是Java领域中一款强大的安全框架,主要用于Web应用程序的安全管理,包括认证和授权。它提供了全面的安全控制,从简单的密码编码到复杂的访问控制策略,为开发者提供了丰富的功能。本随笔将深入探讨...
作者是享誉国内外的Java高手,除了技术相关的文章之外,他也没有僭越自己的专业,随笔中所提及的都是软件产业里的甘苦点滴。不眠之夜,一本蔡学镛的《Java夜未眠》恰能适应你的心情,就像一杯清香醇厚的咖啡,让孤独...
作者是享誉国内外的Java高手,除了技术相关的文章之外,他也没有僭越自己的专业,随笔中所提及的都是软件产业里的甘苦点滴。不眠之夜,一本蔡学镛的《Java夜未眠》恰能适应你的心情,就像一杯清香醇厚的咖啡,让孤独...
本网站流量统计是一个多样化的平台,它充分展示了个人风采,同时集成了一些我们最常用的功能,为我们的学习生活和交流提供了很大的方便。整个系统实现了我的相册,包括的功能模块有文件上传模块,数据统计发送模块,...