Java从小白到入门,Day2(运算符和表达式)

按作用于操作数的数量分为:一目运算符:++、--、+(正号)、-(负号)、!、~(位非);(操作数只有1位)

二目运算符:+(加)、-(减)、*、/、%等;(操作数有2位)

三目运算符:?:。类型:代码1?代码2:代码3;   (代码1位boolean类型,代码2与代码3同类型),表示如果代码1为真,则取代码2为结果,如果代码1为假,则取代码3为结果。

按功能划分:转换运算符、算术运算符、逻辑运算符、位运算符、赋值运算符。

转换运算符:将摸个类型的数据转换为其他类型的数据。

数字类型→数字类型:取范围小的类型转换为范围大的类型,使用隐式转换,为安全转换。反之,使用显式转换,该转换为不安全的。

隐式转换:例如, int a=1;   double b=a;

显式转换:例如,double a=1;   int b=(int)a;

返回类型:就是一句代码运算结果的类型。

算术运算符:用于数学运算(+、-、*、/、%),可以作用于数字类型,也可以作用于char类型。   一个算术运算的返回类型为取值范围大的操作数的类型。

逻辑运算符:返回类型为boolean类型。(>、<、==、!=、&&、||、!)等。

对字符串的比较,必须使用:字符串1.equals字符串2,返回类型为boolean类型。

&&,||:左右两端必须为boolean类型。

!(非):右边必须为boolean类型。

位运算符:用于对数字的二进制格式进行运算。

|:或运算(二元),将两位二级制同为0,取0;反之,取1。

&:且运算(二元),将将两位二级制同为1,取1;反之,取0。

^:异运算(二元),将将两位二级制不同的,取1;反之,取0。

~:非运算(一元),将右边的数字的二进制格式取相反(0变1,1变0)

<<:左移位(二元),将左边的数字的二进制格式向左移动指定的位数。

>>:右移位(二元),将右边的数字的二进制格式向右移动指定的位数。

二进制       转     十进制:  例如,0011,运算过程(从右向左看,1*20+1*21+0*22+0*23)=3,依次类推。

十进制      转      二进制:  例如,22,运算过程(24最接近22,22-24=6,;22最接近6,6-22=2;21=2),所以有 0*20+1*21+1*22+0*23+1*24,二进制表示为10110 ,  依次类推

赋值运算符:用于将赋值符号的右边的计数结果赋值给左边的变量。(=、+=、-=、/=、*=、%=)

类型:a+=b+c→等效于a=a+(b+c)

累加,累减运算符:(++、--),返回值为作用的变量类型相同。

a++:表示 计算结果与变量相同,然后将变量+1。

++a:表示先将变量+1,然后计算结果与变量相同。

运算优先级:有多个运算符参与运算时;

1,代码整体上从左到右进行;    2,若遇到括号(),先计算括号。    3,若遇到函数调用,立即将函数调用的结果计算出来。

表达式:任何一个由运算符和操作数组成的语句和语句的一部分。   所有的表达式都有返回类型。任何一个表达式都可以与其他表达式运行计算,只要返回类型满足要求。

1, 赋值表达式的返回类型为被赋值的变量的类型,返回结果为变量的值。

2,定义变量的语句没有返回类型(void).

3,输出语句没有返回类型。

例1:

int i=1;
i=(i=i+(i+(i=2)+i)+i)+3+i;
/*JVM中运算原理:i=(i=i+(i+(i=2)+i)+i)+3+i
* i=i+(i+(i=2)+i)+i
* i+(i+(i=2)+i)+i
* 1+(i+(i=2)+i)+i         i=1
* 1+(1+(i=2)+i)+i        i=1
* 1+(1+2+i)+i             i=2
* 1+(1+2+2)+2
* 8                             i=8
* 8+3+i
* 19
*/
System.out.println(i);

例2:

int a=1,b=2,c=3;
System.out.println(a+b+c);
/*a+b+c在JVM
* 1,去内存中找a对应的数据
* 2,读取下一个预算符 +
* 3,读取+后面的运算数b,同时读取b后面的运算式,看运算符,看是否先运行,+b+
* 4,计算a+b的结果,记为temp,
* 5,读取下一个预算符 +,
* 6,读取+后面的运算数c,同时读取c后面的运算式,无运算符,直接temp+c,计算结果
*/

例3:

System.out.println(-11%-7);
/*前面的操作数提供最终运算结果的符号,
* 前面的操作数的绝对值与后面操作数的绝对值提供最终结果
* -11%-7 转换为-(11%7)
*/

时间: 2024-12-21 15:34:42

Java从小白到入门,Day2(运算符和表达式)的相关文章

Java从小白到入门,Day9。JAVAOO-接口

接口:弥补子类继承父类的单一原则,让没有继承关系的类,也能共享行为. Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化.但接口是接口不是类,不能使用new 运算符实例化一个接口 interface 关键字:用于定义一个接口. 接口: 定义属性: 公共 静态  常量: 语法  public static final 属性名: 定义方法: 公共的,抽象方法; 使用接口:1,让子类去实现接口,implements 关键字,实现

java技术小白的入门

一.入门书籍 1,疯狂java讲义 2,java编程思想 3,Maven权威指南 4,Spring 3.0就是这么简单 5,Spring技术内幕 6,Spring实战 7,Maven实战 二.入门业务实现时需要涉及到的知识点: Json,Mysql,dubbo,git命令等 三.工具 Eclipse,github

Java从小白到入门,Day3(程序流程控制)

程序流程也就是程序需要的执行顺序. 改变程序控制流程:有2种方法,分支(选择)和循环. 分支:多个选择,有if结构.switch结构. 循环:重复运行,有while.do-while.for,foreach(在数组遍历时,使用). 变量重名:定义一个变量,它的名称不能与同作用域内的变量名称同名. break:关键字可以用来控制任何循环结构,使循环立即终止. continue:关键字可以用来控制任何循环结构,使循环立即跳到循环的循环的下一个迭代中. 多位数取余:例如,1234,取出千位数:1234

Java从小白到入门,Day1(java环境搭建,声明变量)

初识Java java文件扩展名必须为.java: Java跨平台就是跨操作系统(Java编译完成后,产生的是.class文件,能在JVM运行.在JDK中包含了JVM,只需要下载JDK,就可以实现跨平台了) Java源于Sun公司(之前是做c语言),之后Sun公司被Oracle收购.Java之父 James Gosling. JDK包含了JRE,JRE包括了JVM.(JDK版本有J2SE,J2ME,J2EE) 安装JDK后,到系统属性→高级→用户变量(仅对该用户可以使用),新建环境变量,变量名:

Java从小白到入门,Day4(数组)

数组是储存在一个连续的内存块中的元素集合,用于存储多个同类型的数据. 索引(下标):数组中的每一个数据的编号,为int类,依次从0开始到length-1编号. 数组项(元素):指数组中的一个数据.数组中每一个数据的数据类型必须相同.一个索引对应一个数组项,它们是一一对应的. 长度:指数组中项的数量,为int类型,用length表示,长度是固定的. 数组类型默认值: 数字类型,0;       boolean,false;           char,'\0';               St

Java从小白到入门,Day6。JAVAOO-封装

封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口.面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治.封装的对象,这些对象通过一个受保护的接口访问其他对象.封装是一种信息隐藏技术,在java中通过关键字private实现封装.什么是封装?封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度. 封装就是隐藏内部实现,公开访问接口. 访问修饰符:用于控制资源的访问权限(default,

Java从小白到入门,Day7,JAVAOO-继承

继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力. 使用继承,可以重复使用代码,大大缩短开发周期,降低开发费用. 继承的特征:1,传递性,父类资源总是可以在子类和子孙类中使用. 2,单根类,一个子类只有一个父类. 所有类最终都继承与object,object是所有类的根类. 在继承中,如果父类拥有有参构造函数,子类必须写构造函数,去调用父类的构造函数.在创造一个类的对象是,会先调用父类的构造函数,再调用子类自身的构造函数. extends关键字:继承父类,只要

Java从小白到入门,Day8,JAVAOO-多态

多态:就是指一类对象都是相同的行为,但其表现不同,称之为多态. 比如动物都有叫,狗叫与猫叫就不同: 多态就是相同的行为,不同的实现.也就是“一个接口,多种实现”.多态就是抽象化的一种体现,把一系列具体事物的共同点抽象出来, 再通过不同的具体事物继承这个抽象事物,来实现重写抽象事物的方法. 多态:子类型可以直接给父类型赋值,当执行父类型的方法时,会运行期真实类型的方法:或,一类事物有共同的行为,但拥有不同的行为实现,可以将这些事物看做是一类事物,而不需要关系其具体的实现过程. 多态的作用:1. 应

Java从小白到入门,Day5。JAVAOO-面向对象基本概念

对象:一切客观存在的事物都是对象. OO:oriented object,面向对象,是一种思想,看待事物的方式. OOA:面向对象分析,使用OO 的思想分析需求. OOD:面向对象设计,使用OO的思想以及OOA的分析结果,设计类. OOP:面向对象编程,使用OOD的设计结果,编写代码. 类:一种数据类型,可以由其他数据类型组装而成. 对象:是某一个对应的数据,通常把使用一个类书写成数据的过程,叫做创建对象. 类是对象的描述,对象是类的实例.一个类可以创建多个对象. 类有属性和行为组成.类是用来描