Java学习笔记,第三章
Java基础语法
3.1类型、变量与运算符
3.1.1类型
Java可分为基本类型和类类型或参考类型。基本类型主要有
- 整数:可分为short整数(2字节,-32768 -- 32767),int整数(4字节,-2147483648 -- 2147483647),long整数(8字节,-9223372036854775808 -- 9223372036854775807)。
- 字节:byte,长度一字节,需要逐字节处理数据时使用,表示-128~127的整数。
- 浮点数:主要用来存储小数数值,分为float浮点数(4字节)和double(8字节)。float,double精度范围分别为-126 -- 127和-1022 -- 1023。
- 字符:char用来存储字符符号,JDK 8中Java字符采用Unicode 6.2.0编码,JVM中采用UTF-16 big EndIan,每个字符占2字节,汉字与英文字符都是采用双字节存储。char可表示的Unicode范围0 -- ffff。
- 布尔:boolean代表true和false;
常用格式控制符号
System.out.printf("%d", arg)
输出控制符号:%%
表示%,%d以十进制格式输出,%f以十进制浮点格式输出,%o以八进制格式输出,%x以十六进制格式输出,%s字符串格式输出,%c字符符号输出,%h使用Integer.toString(arg.hashCode())
来得到输出结果。
3.1.2变量
1、基本规则
- 变量不可使用特殊字符,不可与Java关键词同名,不可与Java保留字同名。
- 以小写字母开始,每个单词第一个字母大写,即驼峰式命名法。
- 方法内部声明的变量是局部变量,变量在未赋初值即没有初始化之前不可以被引用。
2、字面常量
int num1 = 12; //十进制表示
int num2 = 0xc; //十六进制表示
int num3 = 014; //八进制表示
浮点数也可用科学计数法表示
double num1 = 0.00123;
double num2 = 1.23e-3;
字符用'
表示
char c1 = 'S';
char c2 = '李';
转义字符:
\\ ————反斜杠\
\' ————单引号
\" ————双引号
\f ————换页
\n ————换行
3、数字常量表示法
用下划线更清楚表示
int num4 = 1234_5678;
double num5 = 3.1415_9265;
二进制也可以
int num6 = 0b101010101010;
int num7 = 0b1010_1010_1010;
3.1.3运算符
1、算术运算
+,-,*,/,%
2、比较、条件运算
System.out.printf("10 >= 5 结果 %b%n", 10>=5);
System.out.printf("10 <= 5 结果 %b%n", 10<=5);
System.out.printf("10 != 5 结果 %b%n", 10!=5);
对于类类型声明的参考名称来说,两个参考名称使用==
比较,是比较两个名称是否参考至同一对象。(字符串是一个对象,比较时不用==,而是equals())
条件运算符,使用方式如下
条件式 ? 成立返回值 : 失败返回值
int score = 59;
System.out.printf("该学生是否及格? %c%n", score >= 60 ? '是':'否');
3、逻辑运算
&&
AND(且),||
(或)OR,!
(非)NOT。
4、位运算
&(AND),|(OR),^(XOR异或),~(补码,按位取反),<<左移(左边移除去的位被丢弃右边补0),>>右移(右边一处去的位被丢弃,左边补上原来的位),>>>(右移后左边补0)。
5、递增递减运算
6、指定运算符
+=,-=,*=,/=,%=,&=,|=,^=,<<=,>>=
3.1.4类型转换
精度转换
float f1 = 3.14f;
f2 = (float) 3.14;
通过以上两种方式可以通过编译。
程序中写下整数时默认使用不超过int类型的长度2147483647,使用long c = 21_4748_3648L;
可以通过编译。自动提升类型
表达式中包含不同类型,运算是以长度最长类型为主。short e = 1, g = 2;
short h = (short) (g + e);
运算整数时如果不大于int,则在int空间计算,int结果无法直接放入short,所以需要强转。
int最大2147483647 + 1会得到-2147483648,即会溢出。
3.2流程控制
3.2.1 if...else条件式
3.2.2 switch条件式
switch() {
case 整数、字符、字符串或Enum:
描述句;
break;
case 整数、字符、字符串或Enum:
描述句;
break;
....
default:
描述句;
}
3.2.3 for循环
for(初始试; 执行结果必须是boolean的重复式; 重复式) {
描述句;
}
第二个区域若没有写就是默认的true。
for(;;) {}
表示无穷循环。
3.2.4 while循环
while(条件式){
描述句;
}
while又称为前测试循环,可以使用do...while后测试循环,先执行动作在判断要不要重复。
do {
描述句;
}while(条件式);
3.2.5 break、continue
break在switch主要用来中断下一个case比较,在for,while,do...while中主要用来中断当前循环。
continue与break类似,但在循环中只是中断但前循环,回到开头进行下一次循环,不离开循环。
break和continue还可以配合标签使用,
back : {
for(int y = 1; y <= 10; y++) {
if(y == 9) {
System.out.println("break");
break back;
}
}
System.out.println("test");
}
当执行到break back时返回至back标签处之后整个back区块都不执行而跳过。
back1 : for(int x = 0; x < 10; x++) {
back2 :
for(int z = 0; z < 10; z++) {
if (z == 9) {
continue back2;
}
}
System.out.println("test");
}
continue只能设定在for循环之前,可以自由的跳到任意层循环。
Java学习笔记,第三章的更多相关文章
- Java 学习笔记 ------第三章 基础语法
本章学习目标: 认识类型与变量 学习运算符的基本使用 了解类型转换细节 运用基本流程语法 一.类型(基本类型) 所谓基本类型,就是在使用时,得考虑一下数据用多少内存长度存比较经济,利用程序语法告诉JV ...
- JVM学习笔记-第三章-垃圾收集器与内存分配策略
JVM学习笔记-第三章-垃圾收集器与内存分配策略 tips:对于3.4之前的章节可见博客:https://blog.csdn.net/sanhewuyang/article/details/95380 ...
- 20145330《Java学习笔记》第一章课后练习8知识总结以及IDEA初次尝试
20145330<Java学习笔记>第一章课后练习8知识总结以及IDEA初次尝试 题目: 如果C:\workspace\Hello\src中有Main.java如下: package cc ...
- 《DOM Scripting》学习笔记-——第三章 DOM
<Dom Scripting>学习笔记 第三章 DOM 本章内容: 1.节点的概念. 2.四个DOM方法:getElementById, getElementsByTagName, get ...
- The Road to learn React书籍学习笔记(第三章)
The Road to learn React书籍学习笔记(第三章) 代码详情 声明周期方法 通过之前的学习,可以了解到ES6 类组件中的生命周期方法 constructor() 和 render() ...
- [HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设
[HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设 敲黑板!! <q>元素添加短引用,<blockquote>添加长引用 在段落里添加引用就使用< ...
- JavaScript高级编程学习笔记(第三章之一)
继续记笔记,JavaScript越来越有意思了. 继续... 第三章:JavaScript基础 ECMAScript语法在很大程度上借鉴了C和其它类似于C的语言,比如Java和Perl. 大小写敏感: ...
- [HeadFirst-JSPServlet学习笔记][第三章:实战MVC]
第三章 实战MVC J2EE如何集成一切 Java2企业版(Java 2 Enterprise Editon,J2EE)是一种超级规范.规定了servlets2.4,JSP2.0,EJB2.1(Ent ...
- python学习笔记——第三章 串
第三章 字符串学习 1.字符串不灵活, 它不能被分割符值 >>> format = "hello, %s. %s enough for ya?" >> ...
- c#高级编程第七版 学习笔记 第三章 对象和类型
第三章 对象和类型 本章的内容: 类和结构的区别 类成员 按值和按引用传送参数 方法重载 构造函数和静态构造函数 只读字段 部分类 静态类 Object类,其他类型都从该类派生而来 3.1 类和结构 ...
随机推荐
- .NET Oracle Developer的福音——ODP.NET Managed正式推出
在.NET平台下开发Oracle应用的小伙伴们肯定都知道一方面做Oracle开发和实施相比SqlServer要安装Oracle客户端(XCopy.自己提取相关文件也有一定复杂性),另一方面相比JAVA ...
- 二维树状数组 BZOJ 1452 [JSOI2009]Count
题目链接 裸二维树状数组 #include <bits/stdc++.h> const int N = 305; struct BIT_2D { int c[105][N][N], n, ...
- 博客 博客vno主题(我正在用的这个博客主题)
将你自己博客园博客的主题设置为lessismore, #divRefreshComments { text-align: right; margin-right: 10px; margin-botto ...
- Apache rewrite
Apache rewrite mod_rewrite简介和配置 实URL跳转隐藏真实地址 拟目录 域名跳转 防止盗链 Apache配置支持httpd.conf配置.htaccess配置 启用rewri ...
- [python学习] 语言基础—排序函数(sort()、sorted()、argsort()函数)
python的内建排序函数有 sort.sorted两个. 1.基础的序列升序排序直接调用sorted()方法即可 ls = list([5, 2, 3, 1, 4]) new_ls = sorted ...
- 【DP】HDU 1087
HDU 1078 Super Jumping! Jumping! Jumping! 题意: 有这么个游戏,从start到end(自己决定在哪停下来)连续跳圈,中间不能空一个圈不跳,圈里的数字必须比你上 ...
- javascript面向对象(三):非构造函数的继承
本文来自阮一峰 这个系列的第一部分介绍了"封装",第二部分介绍了使用构造函数实现"继承". 今天是最后一个部分,介绍不使用构造函数实现"继承" ...
- gVim的pathogen
1.安装gVim 1.选择Full模式 2. 在vimfiles 文件夹下,会有许多空文件夹.将它们全删掉. 3.将vim74文件夹下的"autoload"文件夹 剪切 到 vim ...
- ThinkPHP 错误: Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'
在配置了ThinkPHP 的数据库配置信息后,在实例化Model(),调用相关方法时候 出现错误,改进如下方式后解决: 找到php.ini 的文件,打开扩展 php_pdo_mysql.dll ,然 ...
- 如何激活win10 win10激活工具下载
http://www.2cto.com/os/201511/448815.html 官方的win10出来了,可是装在上电脑后要花钱才能用,费用要好几百呢,感觉很不值得,这里我教给大家个免费激活官方wi ...