(二)java从零开始
来源:互联网 发布:网络犯罪的客观原因有 编辑:程序博客网 时间:2024/06/06 03:30
算术运算符
+的含义 正号,加法,字符串拼接符
/:取商
%:取余
在java中,如果两个整数运算,结果也是整数,如果想要结果为小数,那么在除数或者被除数之后乘以1.0f,转换为float(!!不是结果乘以1.0f)
标准格式如下
int a = 1;int b = 2;System.out.println(a/(b*1.0f));a++和++a
int a=3;int b=++a;System.out.println("a="+a+"b="+b);
a=4,b=4
int a=3;int b=a++;System.out.println("a="+a+"b="+b);a=4,b=3
++a是先自身+1再参与运算,a++是先参与运算再+1,单独使用,结果相同
int a = 4;int b = (a++) + (++a) + (a * 10);System.out.println(b);a=4,a++为4,此时a=5。
++a为6,此时a=6。
a*10=60.60+4+6=70.
赋值运算符及隐式转换
+=,-=,*=,/=都包含了一个隐式转换
a+=b;
a=(a的数据类型)(a+b),隐含了数据类型的强制转换
==和=
==:判断是否等于,是一个比较运算符
=:是一个赋值运算符
单与和双与的区别
通常结果都是一样的
&左边无论什么,都要运行右边。
&&左边为false,右边不运行。
单或和双或也类似。
||左边为true,右边不运行。
^异或:相同false,不同true,异或和或的结果一样,除了左右两边都为true,此时异或为false,或为true。
当一个数异或同一个数两次,最终的结果是他本身。一般异或分解为二进制,根据规则异或然后进行换算。
逻辑运算符
作为连接符。 2<x<5在java中不成立,应该x<2&&x>5;
位运算符:对整数的补码进行字节操作(二进制进行理解)
<<:将一个数左移几位,相当于乘以2的几次房,最高位直接被移除,右边直接补0
>>:将一个数右移几位,相当于除以2的几次房,最高位是什么就补什么
位运算是在原数基础上进行操作的,但是不对源数据进行改变,而是将改变后的结果返回
int a =4;int b=a<<2;System.out.println("a="+a+",b="+b);a=4,b=16
三目运算符(三元运算符)
a>b?a:b;(true返回a,false返回b)
三个值进行三目运算
int a=3,b=4,c=5,max;max=(max= a>=b?a:b)>c?max:c;键盘录入
1.导包。 import java.util.Scanner;
2.新建。 Scanner sc =new Scanner(System.in);
3.录入。 int a =sc.nextint();
String line =sc.nextline();
…………
流程控制结构:
顺序结构:按顺序执行的代码
选择顺序:if,switch,也叫做分支结构。根据不同结果运行不同程序。
循环结构:do,while,do。。。while语句,执行循环。
if后面括号里的值只能是true或者false。if语句默认会控制一条语句,不建议省略大括号。
三目运算符和if语句第二种格式一般是可以互相转换的。但当控制语句是一条输出语句的时候,三目运算符就不能实现了,因为运算符必须要有一个结果返回。比如a>b?sysout:sysout就是不成立的
三目运算符可以做的,if语句都可以做。反之不成立
if选择结构的结构有两种。先校验再判断和先判断再校验。先校验再判断更保险,免得忘。
相比于if语句,switch语句对常量值匹配的效率高。
关于switch语句的注意事项
1⃣️case后面的值只能是常量,不能是变量
2⃣️在结构中,default的位置是可变的
3⃣️break可以省略,但是一般不省略,因为break没有了,那么就会一直执行下去,直到遇到break或者执行完所有的case后的语句。
4⃣️default也是可以省略的
switch后括号内的内容,取值可以为byte,short,int,long,char,String(JDK1.7)
switch (month) {case 3:case 4:case 5:System.out.println("你输入的季节是春季");break;case 6:case 7:case 8:System.out.println("你输入的季节是夏季");break;case 9:case 10:case 11:System.out.println("你输入的季节是秋季");break;case 12:case 1:case 2:System.out.println("你输入的季节是冬季");break;}
多个不同情况下输出相同的内容,通过省略break来实现。
if和switch使用的场景
if:true和false,针对一个范围的判断。
switch:针对常量值的。
循环结构:通过一个判断条件作为依据反复执行某一段代码,在合适的时候结束循环。
循环结构:
初始化语句(初始化变量)+判断条件(判断是否有必要继续执行,一般为初始化的那个变量)+循环体语句+控制条件语句(变量变化的规律i++等)
for循环注意事项:
默认只能控制一条语句
死循环结构
while(true){
}
for(;;){
}
循环结构:
for语句:已知范围之内的循环
while:更适用于未知情况
do。。。while适用于需要至少执行一次的循环
for语句释放变量更快,while语句要等程序执行完毕才可以释放变量,但缺点是拿不到变量的值,无法输出次数,所以求未知数一般用while。也不是无法使用for,但是变量定义要放在循环外,int i;for(;i<100;i++)
do...while至少执行一次,不管对不对
int y = 3;do {System.out.println("6666");y++;} while (y < 3);是要执行一次的
最常用的循环嵌套,两个for嵌套打印星星图,乘法表等等
\t:代表制表符
跳转控制语句
break:中断 switch语句和循环语句中使用。离开场景没有任何意义。不能再语句外面使用。
continue:继续 跳出本次循环
return:返回
下面一段小代码进行测试
for (int i = 1; i <= 5; i++) {if (i == 4) {continue;// break;}System.out.println(i);}continue输出结果为1 2 3 5
break输出为 1 2 3
return直接结束整个方法,break结束整个循环。
public static void main(String[] args) {// TODO Auto-generated method stubfor (int i = 1; i <= 5; i++) {if (i == 4) {return;//break;}System.out.println(i);}System.out.println("Over");}break会输出Over,return不会输出Over,因为此时程序的执行权已经交给了上层调用者
- (二)java从零开始
- 从零开始学Java(二)一切都是对象
- 从零开始学Java(二十)注解
- 从零开始学java(二)安装idea
- Java从零开始(二)——Java关键字
- 从零开始学Java之出入门卫管理(二)
- 从零开始学java(二)--数据类型和运算符
- 从零开始学习Java Web(二):初步认识Servlet
- JAVA线程从零开始(二)——创建线程
- java 从零开始
- Java从零开始
- 《Java从零开始》
- 从零开始学习jQuery (二)
- struts2从零开始(二)
- 从零开始 python (二)
- clojure从零开始(二)
- 从零开始读MBProgressHUD(二)
- 从零开始自学Swift(二)
- LRU算法 C++实现
- DNS
- cocos2d中去掉微信呢称中的表情字符(ios与android)
- 颓废了?看看这些!
- 天天学Linux命令11--cat命令
- (二)java从零开始
- Eclipse警告解决:Implementation of project facet maven could not be found. Functionality will be limited
- Gym 101158B Quality of Check Digits
- ext新建主题失败
- 基于Android的“健康宝”体检APP(三)
- 日志转换成json格式
- 软考--J2SE视频总结
- AOP相关术语
- postgresql常用命令