Java 知识点(一)
博主对 Java知识点的整理基于 c语言,整理内容为 Java的重点及与 c语言的差异点或编程通要知识点。水平有限,欢迎指正。(参考书籍《Java 核心技术 卷Ⅰ》)
Java 的类名:名字必须以字母开头(习惯大写),后面可以跟字母和数字的任意组合。长度基本没有限制。(除Java保留字)
Java 没有任何无符号(unsigned)形式的 int、long、short、或byte类型。
float 类型的数值有一个后缀 F 或 f (例如, 3.14F )。没有后缀 F 的浮点数值 (如, 3.14)默认为double类型。当然,也可以在浮点数值后面添加后缀 D 或 d (例如, 3.14D)。
码点(code point)是指与一个编码表中的某个字符对应的代码值。在 Unicode 标准中,码点采用十六进制书写,并加前缀U+。
boolean (布尔)类型有两个值: false和 true,用来判定逻辑条件。整型值和布尔值之间不能进行相互转换。
声明一个变量之后,必须用赋值语句对变量进行显示初始化,千万不要使用未初始化的变量。
在 Java 中,变量的声明尽可能地靠近变量第一次使用的地方,这是一种良好的程序编写风格。
在 Java 中,用关键字 fianl 指示常量。关键字 final 表示这个变量只能被赋值一次(不能更改)。习惯上,常量名使用全大写。
对浮点数进行舍入运算,使用 Math.round方法:
double x = 9.97;
int nx = (int) Math.round(x);
nx 值为10。当调用 round 的时候,仍然需要使用强制类型转换(int)。其原因是 round 方法返回的结果为 long 类型,由于存在信息丢失的可能性,所以只有使用显示的强制类型转换才能够将 long 类型转换成 int 类型。
&& 和 || 运算符是按照 “短路” 的方法来求值的:如果第一个操作数已经能够确定表达式的值,第二个操作数就不必计算了。(结合性:从左向右)
String 类的 substring 方法可以从一个较大的字符串提取出一个子串。例如:
String greeting = "Hello";
String s = greeting.substring(0, 3);
创建了一个由字符 “Hel” 组成的字符串。
substring 方法的第二个参数是不想复制的第一个位置。这里复制的位置是 0 到 2。substring的工作方式有一个优点:容易计算子串长度。字符串s.substring(a, b)的长度为 b-a。Java 语言允许使用 + 号连接(拼接)两个字符串。
String expletive = "Expletive";
String PG13 = "deleted";
String message = expletive + PG13;
上述代码将“Expletivedeleted"赋给变量message(注意,单词之间没有空格,+号按照给定的次序将两个字符串拼接起来)。
当一个字符串与一个非字符串的值进行拼接时,后者被转换成字符串。这种特性通常用在输出语句中。例如:
System.out.println("The answer is " + answer);
如果需要把多个字符串放在一起,用一个定界符分隔,可以使用静态join 方法:
String all = String.join(" / ","S","M","L","XL");
// all is the string "S / M / L / XL"
可以用 equals 方法检测两个字符串是否相等。对于表达式:
s.equals(t)
如果字符串 s 与字符串 t 相等,则返回true;否则,返回false。需要注意,s 与 t 可以是字符串变量,也可以是字符串字面量。例如,下列表达式是合法的:
"Hello".equals(greeting)
想要检测两个字符串是否相等,而不区分大小写,可以使用 equalsIgnoreCase 方法。
"Hello".equalsIgnoreCase("hello")
一定不要使用 == 运算符检测两个字符串是否相等!这个运算符只能确定两个字符串是否放置在同一个位置上。
附:诗
我有一个恋爱
----徐志摩
我有一个恋爱;——
我爱天上的明星;
我爱他们的晶莹:
人间没有这异样的神明。
在冷峭的暮冬的黄昏,
在寂寞的灰色的清晨。
在海上,在风雨后的山顶——
永远有一颗,万颗的明星!
山涧边小草花的知心,
高楼上小孩童的欢欣,
旅行人的灯亮与南针:——
万万里外闪烁的精灵!
我有一个破碎的魂灵,
像一堆破碎的水晶,
散布在荒野的枯草里——
饱啜你一瞬瞬的殷勤。
人生的冰激与柔情,
我也曾尝味,我也曾容忍;
有时阶砌下蟋蟀的秋吟,
引起我心伤,逼迫我泪零。
我袒露我的坦白的胸襟,
献爱与一天的明星,
任凭人生是幻是真
地球存在或是消泯——
太空中永远有不昧的明星!
Java 知识点(一)的更多相关文章
- 学Android开发,入门语言java知识点
学Android开发,入门语言java知识点 Android是一种以Linux为基础的开源码操作系统,主要使用于便携设备,而linux是用c语言和少量汇编语言写成的,如果你想研究Android,就去学 ...
- 给Java新手的一些建议----Java知识点归纳(Java基础部分)
写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给 ...
- java知识点梳理
网络搜索结果,出处不详,仅供参考 对于刚刚接触Java的人,java基础知识技术点繁多,那么gkstk小编为大家汇总最全java知识点如下,仅供大家参考学习! 1. JVM相关(包括了各个版本的特性) ...
- 自己整理的所有java知识点(不断迭代中)
1. 自己整理的所有java知识点(不断迭代中) 画图工具注册 https://www.processon.com/i/599d35fae4b00d97d7f9bb17 1.1. Java整体知识架构 ...
- Java知识点-判断null、空字符串和空格
Java知识点-判断null.空字符串和空格 // 判断headerKey是否为null,空字符串或者空格 if (headerKey != null && headerKey.len ...
- typora中文版官方免费快速下载以及Markdown的一些常用语法、Java知识点
typora下载 链接:https://某度云盘的域名/s/1geD1APxnyV3gogYW3E08bQ 密码:8fdp 把某度云盘的域名进行替换 1.标题 # 标题1 ## 标题2 ### 标题3 ...
- 给Java新手的一些建议——Java知识点归纳(Java基础部分)
原文出处:CSDN邓帅 写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些Java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行 ...
- 给Java新手的一些建议——Java知识点归纳(Java基础部分)
写这篇文章的目的是想总结一下自己这么多年来使用java的一些心得体会,主要是和一些java基础知识点相关的,所以也希望能分享给刚刚入门的Java程序员和打算入Java开发这个行当的准新手们,希望可以给 ...
- Java知识点脑图
做服务器开发有十几年了,其中大部分用到的都是Java服务器开发,从JDK1.4到现在的JDK1.8,从基本的Java Application到 J2EE(JBOSS,Glassfish),OSGI,到 ...
- 给Java新手的一些建议----Java知识点归纳(J2EE and Web 部分)
J2EE(Java2 Enterprise Edition) 刚出现时一般会用于开发企业内部的应用系统,特别是web应用,所以渐渐,有些人就会把J2EE和web模式画上了等号.但是其实 J2EE 里面 ...
随机推荐
- 2020/2/21 fiyocms代码审计
0x00 前言 上午上了网课,一上午就装好了cms,下午还有网课,要是结束的早就进行审计. 解决了一下phpstudy使用过程中: Forbidden You don't have permissio ...
- PLC与单片机执行指令区别
单片机执行指令方式与PLC执行指令方式对比 . 映射 对顺序功能图并行分支的理解. PLC与单片机都是顺序执行指令方式的. PLC执行指令分为3个阶段. PLC的一个指令周期包括 输入采样 程序执 ...
- MSVCRTD.LIB和LIBCMTD.LIB冲突(转载)
以前经常遇到这个警告信息,因为运行并没有什么问题,所以也没深究.但是耿耿于怀那个“ 0 个错误,0 个警告”的成功提示,在网上搜了一下.原来问题出在默认库的引用选择上. VS2008,项目——属性—— ...
- [洛谷Luogu]P1803 线段覆盖问题
贪心想法题解的各位dalaodalaodalao都讲得很清楚了,在下就提供一种桶排的做法吧. 因为给出数据范围 0≤ai<bi≤10000000≤ai<bi≤10000000≤ai< ...
- TensorFlow中的L2正则化函数:tf.nn.l2_loss()与tf.contrib.layers.l2_regularizerd()的用法与异同
tf.nn.l2_loss()与tf.contrib.layers.l2_regularizerd()都是TensorFlow中的L2正则化函数,tf.contrib.layers.l2_regula ...
- 代码方式配置springmvc的字符集过滤器
之前一直用的xml方式配置 <filter> <filter-name>encoding</filter-name> <filter-class>org ...
- python3 --- unittest单元测试框架
1.unittest结构 1.单元测试的框架 unittest(python自带,无需额外安装)+接口2.文件,命名时,千万不要写成unittest这样的模块名,会报错的3.功能测试 1)写用例 Te ...
- windows driver 分配内存
UNICODE_STRING str = {0}; wchar_t strInfo[] = {L"马上就是光棍节了"}; str.Buffer = (PWCHAR)ExAlloca ...
- ES6 - 装饰器 - Decorater
注意,修饰器对类的行为的改变,是代码编译时发生的,而不是在运行时.这意味着,修饰器能在编译阶段运行代码.也就是说,修饰器本质就是编译时执行的函数. 修饰器是一个对类进行处理的函数.修饰器函 ...
- (2) JVM内存管理:垃圾回收
回顾上期 1)JVM中引用存在哪里? 答:虚拟机栈,该内存空间线程独有 2)该引用的对象存在哪里? 答:堆,所有通过new方法分配的对象都存在堆中 3)String s1="abc" ...