文章目录

  • 前言
  • 一、常量
  • 二、类型转换
    • 1.int转String
    • 2.String转int
  • 三、运算符
    • 1.算数运算符
    • 2.复合运算符
    • 3.关系运算符
    • 4.逻辑运算符
    • 5.位运算符
    • 6.移位运算符
    • 7.条件运算符
    • 8.运算符优先级

前言

上接新的开始新的起点 JAVA SE
在上一篇中讲述了学习java的开始,java的初体验,以及变量、基本数据详解。
在本篇中会来体会JAVA中,常量、操作符等一系列初始知识

一、常量

Java中常量
常量是在程序运行的过程中,不可以进行修改的。
(只能初始化一次)

   final int a=10;a=20;   //编译出错,常量不能在程序运行过程中修改

二、类型转换

1.int转String

public static void main(String[] args) {String str="10";    //注:格式需要正确  , 字符串转整形int ret=Integer.parseInt(str);    //在Integer这个包装类中 ,parseInt这个方法被调用   .->是调用的意思。System.out.println(str);         //包装类的意义是提供一个数值转换的方法int ret2=Integer.valueOf(str);   //与上方相同System.out.println(ret2);}

使用两种方法来转换:
(1)Integer.parsetnt();
(2)Integer.valueOf();
注:参数正确才能使用,否则报错

2.String转int

public static void main(String[] args) {int a=10;String rst=String.valueOf(a);System.out.println(rst);String rst2=a+"";System.out.println(rst2);
}

使用两种方法来转换:
(1)a+"";
(2)String.valueOf();
注:参数正确才能使用,否则报错

三、运算符

1.算数运算符

算数运算符包含:+、-、*、/、%、^
除法为例

public static void main(String[] args) {System.out.println(5/2);System.out.println((float)5/2);   //2.5System.out.println(5/(float)2);   //2.5System.out.println((float)(5/2)); //2.0//System.out.println(10/0);//注:0不能作为除数,会出现异常}

取余运算

    public static void main(String[] args) {System.out.println(10%3);   //1System.out.println(10%-3);  //1System.out.println(-10%3);  //-1System.out.println(-10%-3); //-1System.out.println(11.5%2); //1.5   可以对小数求余数}

2.复合运算符

复合运算符包含:+=、-=、*=、/=、%=

public static void main(String[] args) {int a=10;short b=8;a+=8;    //同a=a+8;b+=a;    //+=会自动进行类型的转换  复合运算符System.out.println(a);System.out.println(b);}

注:复合运算符可以自动进行类型转换

3.关系运算符

关系运算符:==、!=、>、<、->=、<=

public static void main(String[] args) {int a=10;    //关系运算符int b=20;System.out.println(a>b);System.out.println(a<b);System.out.println(a>=b);System.out.println(a<=b);System.out.println(a!=b);}

关系运算符,判断之后会返回一个boolear值

4.逻辑运算符

逻辑运算符:&&、||、!

    public static void main(String[] args) {int a=10;int b=20;//System.out.println(a&&b);  //&& 逻辑与的两边必须是布尔类型Boolean(报错)System.out.println(a>0&&b>0);  //trueSystem.out.println(a>11&&b>0); //falseSystem.out.println(a>0||b>11); //trueSystem.out.println(a>11||b>11);//falseSystem.out.println(!true);   //!后也要是表达式}

注:逻辑表达式的两边都必须是boolear类型

短路求值:
左逻辑表达式为false,则后面的表达式不会进行判断直接输出false

public static void main(String[] args) {System.out.println(1>1&&10/0==0);  //不会报错因为a>1已经决定了输出false ,后10/0==0 不会执行System.out.println(1>0||10/0==0);  //与上面同理}

5.位运算符

位运算符:&、|、~、^
按位与:&

  0000 1011
& 0000 11010000 1001

只要有0 对应就是0
按位或:|

  0000 1011
| 0000 11010000 1111

只要有1 对应就是1
按位取反:~

  0000 1011
~ 1111 0100

有1出0,有0出1
异或:^

  0000 1011
^ 0000 11010000 0110

位数不相同时出0,相同时出1

关于短路运算:
位运算符不支持短路运算

public static void main(String[] args) {System.out.println(1>1&10/0==0);  //报错System.out.println(1>0|10/0==0);  //报错}

6.移位运算符

移位运算符:>>、<<、>>>、
移位运算符是根据二进制的每一位进行运算
右移运算符:>>
右移一位前面自动补符号位

0000 1011   //11
0000 1011>>1  ==>0000 0101 //5   11/2^1=5
0000 1011>>2  ==>0000 0010 //2   11/2^2=2

由此得知右移运算符相当于除法
左移运算符:<<
左移一位前面自动补0

0000 1011   //11
0000 1011<<1  ==>0001 0110 //22  11*2^1
0000 1011<<2  ==>0010 1100 //44  11*2^2

由此得知左移运算符相当于乘法

无符号右移:>>>
无论符号位是0还是1,统一补0;

1111 1111>>>1  ==>0111 1111

7.条件运算符

条件运算符也叫三目运算符
表达式1?表达式2:表达式3
表达式1为真执行表达式2,否则执行表达式3
表达式一定为boolear表达式

public static void main(String[] args) {int a=10;int b=20;System.out.println(a>b?50:60);}

结果为假,故输出60

8.运算符优先级


小技巧:在进行运算时拿不准优先级的,统统使用()来提升优先级

续航整理 JAVA SE相关推荐

  1. Java SE疯狂涨价!甲骨文改按公司人头收费,用不用Java都要交钱,网友:慢性自杀

    还在用Java SE(标准版)的盆友们注意了: 甲骨文已经悄咪咪大涨价了. 从1月23日起,订阅Java SE不再按用户数量收费,而是改为按公司员工人数收费. 你 没 看 错. 举个夸张一点的例子,这 ...

  2. Java SE 基础知识

    Java SE 基础知识 1 2 @(Notes)[J2SE, Notes] VICTORY LOVES PREPARATION. 特别说明: 该文档在马克飞象查阅最佳: 本部分知识还在迭代中,欢迎补 ...

  3. Java SE面试题(20个)分析

    Java SE面试题 一.自增变量 代码为: 1 public void main(String args[]){2 int i = 1; 3 i = i++; 4 int j = i++; 5 in ...

  4. Java SE 7 Update 17的安装配置及相关问题解决

    Java SE 7 Update 17 小声说 Eclipse Java EE集成开发环境 下载 安装 配置 总结 小声说 首先非常感谢大家的认可,近一周来收到些私信,有些没及时回复十分不好意思,但是 ...

  5. Java SE第0节课  程序设计学习七宗罪

    Java SE第0节课  程序设计学习七宗罪 一.困境和希望 找到工作后,发现自己越来越学不进去,技术原地踏步甚至有所退步.这在程序员这一行,简直就是慢性自杀.思前想后,最初的我是从看张龙老师的视频入 ...

  6. oracle java rmi 漏洞,Oracle Java SE Java运行时环境RMI子组件远程漏洞(CVE-2011-3556)

    发布日期:2011-10-20 更新日期:2011-10-20 受影响系统: Oracle Sun JRE 1.6.x Oracle Sun JDK 1.6.x 不受影响系统: Oracle Sun ...

  7. [零基础学JAVA]Java SE实战开发-37.MIS信息管理系统实战开发[JDBC](1)

    MIS信息管理系统实战开发之使用MySQL实现保存 开发背景 ID.姓名.年龄为公共信息,而学生有成绩,工人有工资 定义一个抽象类Person(ID.姓名.年龄),学生是其子类,有成绩,工人是其子类有 ...

  8. java se 与j2se_关于java:J2EE和J2SE项目之间的区别

    本问题已经有最佳答案,请猛点这里访问. 我已经从github下载了一个开源项目. 这是一个基于Maven的项目. 我如何理解该项目是J2SE项目还是J2EE项目? 这两种项目在结构上有何不同? Jav ...

  9. 浅谈Java SE、Java EE、Java ME三者的区别

    1. Java SE(Java Platform,Standard Edition).Java SE 以前称为 J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程 ...

最新文章

  1. python中的正则替换字符串函数re.sub
  2. 项目四-用循环求(2)
  3. matlab基本杆组-运动学仿真,MATLAB基本杆组-运动学仿真.pdf
  4. codeforces D. Palindrome Degree(hash)
  5. MAT之PLS:利用PLS(两个主成分的贡献率就可达100%)提高测试集辛烷值含量预测准确度并《测试集辛烷值含量预测结果对比》
  6. python调用窗口_如何调用一个函数并在另一个窗口中打开?
  7. PHP怎么做一个加法口诀,神奇的手指速算口诀,100以内的加减法一分钟学会
  8. 书单丨成为全栈工程师的5种硬实力
  9. 驱动编译的时候注意编译工程选项
  10. 网管工具之cacti
  11. 计算机桌面图标乱码,为什么我电脑图标显示乱码 - 卡饭网
  12. 聊聊ConcurrentHashMap
  13. 电脑重装系统win10家庭版重装教程分享
  14. 战舰世界选服务器删除什么文件夹,《战舰世界》常见问题解决方案合集
  15. GEEer成长日记二:Modis_NDVI逐日和逐月时间序列分析
  16. 图片加载oom以及photoView缩放崩溃问题
  17. 多智能体强化学习Multi agent,多任务强化学习Multi task以及多智能体多任务强化学习Multi agent Multi task概述
  18. Python爬虫自动领取满减优惠券,剁手党的福利!
  19. Linux中的lo回环接口详细介绍
  20. 多家技术公司喊停的人脸识别业务,被这家波兰网站玩火了!

热门文章

  1. 基于1DCNN(一维卷积神经网络)的目标识别
  2. 华为机试真题 C++ 实现【猴子爬山】
  3. 汽车数据的处理及应用
  4. python语言程序的特点_Python语言概述及其运行机制详解
  5. spdlog封装自己的日志库
  6. 我的项目——不爱听书系统
  7. 使用ToLua插件 关于Lua脚本中 require 添加模块经常报错找不到Lua文件的问题
  8. 抽点时间读经典AI论文之Learning representations by back-propagating errors
  9. 玩转基因组浏览器之IGV进行序列比对
  10. 图神经网络解偏微分方程系列(一)