JAVA基础针对自己薄弱环节总结01(循环之前的知识)
java中的标识符
组成:数字、字母、下划线、美元$符号组成。
规则:不能由数字开头。
类名:每一个单词的首字母大写
包名:所有小写
变量名、方法名:第一个单词首字母小写。后面首字母大写
常量:所有大写用下划线连接
凝视
单行凝视://
多行凝视:/……/ (不能嵌套)
文档凝视:/*…../(能够被javadoc命令解析成Html文档(说明书))
变量概述
格式一:
数据类型 变量名=初始化值;
格式二:
数据类型 变量名;
变量名=初始化值。
变量在使用前必须初始化。
java中的数据类型
整型:byte 1字节
Short 2字节
Int 4字节
Long 8字节
浮点型:float 4字节
Double 8字节
字符型:char 2字节
布尔型:Boolean
java中定义变量并使用
对 byte,short类型的变量进行赋值时保证在其范围内就可以。(超出范围报错)
对long, float 类型的变量进行赋值时后面必须加L和F。
数据类型转换
1) 自己主动类型转换(隐式转换)
byte char short – int – long – float – double
2) 强制类型转换(显式转换)
(数据类型) 变量或者常量值;
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2; // 此行会报错,由于參与运算的byte类型会自己主动提升为int类型, 可能损失精度.
byte b4 = 3 + 4; // 不报错,对于字面值常量3和4, jvm会在编译期对其进行计算(优化), 并比較其值是否在byte范围内,假设未超出,则不报错.
算术运算符
注意:
1) 注意除运算符
1) 除数不能为0.
2) 整形与整形进行运算,结果还是整形.它会将余数舍弃.
比方: 5 / 2 – 结果是2
2) ++ 和 – 运算符原理
以 ++ 为例:
单独运算:
在前在后都一样,相当于把值加1
參与运算:
++在前,先加后用. ++a 相当于 a = a + 1
++在后,先用后加. a++ 会产生一个暂时的量, 这个量相当于a的一个副本,然后将a的值自增, 将副本的值返回.
举例:
int x = 10;
int y = x++;
// 结果是y = 10; x = 11;
- int x = 10;
- a = a++;
- System.out.println(a); // 结果是10
3) 加法运算符的特殊使用方法:
比如: System.out.println(3 + 4 + “hello” + 5 + ‘a’ + 6 + 7); // 输出结果为: 7hello5a67
逻辑运算符
注意:
1) java中不能写成 1 < x < 9 , 而应该写成 x > 1 & x < 9
2) & 和 && 的差别:
单&时,左边不管真假,右边都会參与运算.
双&时,左边为真时,右边才会參与运算;左边为假时,右边不会 參与运算,有短路功能.
3) | 和 || 的差别同理: 对于双或,左边为真时,右边不会參与运算.
位运算符
<< 左移 -- 将运算数的二进制码总体左移指定位数,左移之后的空位用0补充.
相当于乘以2的指定次幂.
>> 右移 -- 将运算数的二进制码总体右移指定位数,右移之后的空位用符号位补充,假设是正数用0补充,负数用1补充.相当于除以2的指定次幂.
>>> 无符号右移 -- 将运算数的二进制码总体右移指定位数,无论正负,空位所有都用0补充.
注意:
1) 没有无符号左移.
2) API中非常多源代码的实现都是採用了位运算符,由于效率高.但咱们开发中自己敲代码一般不会用,易读性差.
关于位运算的两个面试题:
1) 用最高效的方式计算2*8的结果.
2 << 3
2) 不使用第三个变量的前提下,交换两个变量的值.
int a = 10;
int b = 20;
// 结果要求: a = 20; b = 10;
a = a ^ b;
b = a ^ b;
a = a ^ b;
流程控制语句
switch语句
注意事项:
a:default总体能够省略吗?
能够,可是不建议。
b:default的位置能够放到前面吗?
能够,可是不建议。
c:break能够省略吗?
能够,可是不建议。
default在最后。break是能够省略的。
case后面的break能够省略。可是结果可能有问题。
d:switch语句什么时候结束呢?
就是遇到break或者运行到程序的末尾。
JAVA基础针对自己薄弱环节总结01(循环之前的知识)的更多相关文章
- JAVA基础针对自己薄弱环节总结02(循环)
循环 A:水仙花. classShuiXianHua { public static void main(String[] args) { for(int i=101;i<1000;i++) { ...
- 实验二 Java基础(数据/表达式、判定/循环语句)
实验二 (一)实验内容 编写简单的计算器,完成加减乘除模运算. 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. 编写测试代码,测试验证. ...
- 黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套
------- android培训.java培训.期待与您交流! ---------- 循环结构: 代表语句:while ,do while ,for while语句格式 : while(条件表达式) ...
- Java基础(三)选择和循环结构
一.选择结构,条件判断 1.if 语句 一个 if 语句包含一个布尔表达式和一条或多条语句.如果布尔表达式的值为 true,则执行 if 语句中的代码块,否则执行 if 语句块后面的代码. impor ...
- Java基础:数组的声明,循环,赋值,拷贝。
数组的声明 一般有两种形式的声明: int[] a; int a[]; 这两种声明都没错,但是大多数都使用第一种声明,因为变量名是独立的,不带任何符号. 声明一个数组,并没有将a真正的初始化为一个数组 ...
- Java基础系列(22)- For循环详解
For循环 虽然所有循环结构都可以用while和dowhile表示,但是Java提供了另外一种语句for循环,使一些循环结构变动更加简单 for循环语句是支持迭代的一种通用结构,是最有效.最灵活的循环 ...
- Java基础-运行原理及变量(01)
java运行原理 手动编写java文件由编译器编译成.class文件,再由解释器翻译class文件成机器语言运行. Java中注释分类 单行注释格式: //注释文字多行注释格式: /* 注释文字 */ ...
- java基础 流程控制和条件语句,循环语句
顺序结构 程序的顺序结构: 如果代码里没有流程控制,程序是按照书写的格式从上而下一行一行执行的, 一条语句执行完之后继续执行下一条语句,中间没有判断和跳转,直到程序的结束. if语句 if语句使用bo ...
- JAVA基础学习(3)之循环
3循环 3.1循环 3.1.1循环 一直要做的行为进行循环 3.1.2数数字 while(){}判断是否进行 数数字:number/10 //数数字Scanner in = new Scanner(S ...
随机推荐
- DFS和BFS遍历的问题
来自https://github.com/soulmachine/leetcode 广度优先搜索 输入数据:没有什么特征,不像dfs需要有递归的性质.如果是树/图,概率更大. 状态转换图:数或者DAG ...
- BJOI2019退役记
update:不想更这个游记……感觉更了只能说明自己菜得只会打嘴炮……那就让这个污痕一直残缺吧 太菜了,就不发具体分数了…… 被北师大附中的高一选手们吊打致死,退役了 4.6 4.7 4.13 4.1 ...
- iOS - 倒计时封装
+(NSString *)countdownStartTime:(NSString *)startTime{ NSString *TIME = [startTime substringToIndex: ...
- iOS工程中一天只让进行一次的操作如何做?
转至: iosNSDateNSObject一天一次 整体思路:当进行操作的时候记录操作时间存在偏好设置当中,当再次点击的时候获取现在的时间然后和之前记录的时间进行比较.如果是一天那么就提示“今天 ...
- 创建外网 ext
虽然外部网络是已经存在的网络,但我们还是需要在 Neutron 中定义外部网络的对象,这样 router 才知道如何将租户网络和外部网络连接起来. 上一节我们已经为创建外部网络配置了ML2,本节将通过 ...
- 浅析CSS里的 BFC 和 IFC
前端日刊 登录 浅析CSS里的 BFC 和 IFC 2018-01-29 阅读 1794 收藏 3 原链:segmentfault.com 分享到: 前端必备图书<Web安全开发指南 掌握白 ...
- Linux内核情景分析之消息队列
早期的Unix通信只有管道与信号,管道的缺点: 所载送的信息是无格式的字节流,不知道分界线在哪,也没通信规范,另外缺乏控制手段,比如保温优先级,管道机制的大小只有1页,管道很容易写满而读取没有及时,发 ...
- JS与jquery书写插件规范
什么是封装呢? 我的理解就是 把一个功能单独做成一个组件,就像做饺子,以前做饺子必须自己先用面粉做饺子皮,再做饺子馅,然后再手工包饺子,但是现在人们发明了自动包饺子机器,虽然机器里面的每一步骤和你自己 ...
- java中Map的entrySet 和keySet的使用
存储这样的一个数据关系结构 使用嵌套map存储 可以通过调用 entrySet方法 或者 keySet方法 进行迭代或者增强for循环 便利输出 这里演示 迭代器的方式进行遍历 package ...
- 分布式定时任务调度系统技术解决方案(xxl-job、Elastic-job、Saturn)
1.业务场景 保险人管系统每月工资结算,平安有150万代理人,如何快速的进行工资结算(数据运算型) 保险短信开门红/电商双十一 1000w+短信发送(短时汇聚型) 工作中业务场景非常多,所涉及到的场景 ...