JAVA-初步认识-第二章-算术运算符1

一. 概述运算符

之前的一些讲解的是错误,在常量和变量那一块,围绕地都是将常量赋值给变量,在这里谈论的才是运算,之前的都不算是运算。数据最主要的作用就是用来运算的。这里将要讨论运算过程中,用到的各种运算符,主要是算术运算符。

在现阶段学习的中,我学到两点:计算机的运算是一步一步来的,而且每一步之后,都有规则。默认数据类型是一直在起作用。

二. 算术运算符

JAVA运算中默认的数据类型,在算术运算所起的作用,将不同于日常生活中的四则运算。结果如下:

按照日常习惯,结果就应该是6370,但是DOS显示为6000。原因就在于计算的每一步,JAVA的默认类型这个规则都在起作用。6370/1000后,结果应为6.37,但是在JAVA中,默认结果为int,这样就将结果转化为6,6再乘以1000,最终显示为6000。

除了四则运算还有一个模运算(取余),符号为%,例如System.out.println(5%2);

这里有一点挺奇怪的:输出语句的()里,到底输出的是一个整体,还是计算的结果?这该如何判定。

模运算还有扩展:有负数参与的模运算。如果是-5%2,那么结果是-1;如果是5%-2,那么结果是1。就是说模运算中,结果是正还是负取决于左侧的被取余数,为什么呢?

模运算到底什么时候使用?任何数在模2的时候,不是0就是1,这会用在开关算法中。(开关算法就是只有两种情况)

除了模运算,还有连接符+,这就意味着+既可以代表加号,也可以代表连接符。在前面我们也抛出了这个疑问,到底怎么判定输出是一个整体,还是运算的结果?在这里我们得到了结果。判定的标准就是,如果是直接相加,比如3+2,那么就是输出结果;如果是3+"2",那么输出就是一个整体32。任何数据和字符串连在一起,输出的都是整体。有+和字符串的存在,使得输出的都是字符串。比如“5+5=”+5+5,输出的结果是5+5=55,这里计算时,其实是分为两部来的。先是"5+5="+5进行运算,得到的结果是"5+5=5",然后是运算"5+5=5"+5,最终的结果是5+5=55。由此可见计算是一步一步的来的。这里还可以变形一下,"5+5="+(5+5);这里加了一个(), 有了一个优先级。

这里还有一个变形,int a=4, b=5; System.out.println( ); 如果想要将4和5分别输出,这个括号里面应该怎么写?我自己提出的一个思路是a+"b", 这样输出的结果是4b,说明,虽然在{}里,b是定义好的变量,但是在()里,"b"就相当于是一个字符串,如果b相当变量使,就不能加""号。正确的写法是(a+","+b),输出的结果是4,5。原理就在于只要有一个字符串,整体就是字符串。→字符串的连接符应用。

时间: 2024-10-25 05:03:57

JAVA-初步认识-第二章-算术运算符1的相关文章

JAVA-初步认识-第二章-算术运算符2

一. 介绍其他类型的运算符. 除了前面介绍的+,-,*,/,%,+连接符外,还有两种++,--. 二. ++自增 定义:在原有数据的基础上加一,在赋给原有数据. 对自增运算进行了演示,结果如下:对于++的使用方法还不熟悉. 注意:自增运算并不简单,相同的输出结果可以有两种书写方法.例如:写成a++,或者++a都是可以的.这后面存在着深刻的原理,并非看着那么简单. 这里面实际上就是一个优先级的问题.a++是a先参与左侧的运算,然后a再加一,而++a是不管左侧是什么,先进行a加一,再将a代入左侧的运

JAVA-初步认识-第二章-算术运算符2续

一. 对自增运算符的再次认识 首先先明白一点,运算符是运算的符号化表示,每一种运算符的背后都代表着特定的运算.这些运算的形式是各种各样的,在这里我们将重新讨论自增运算符,符号为++. 对自增运算符进行演示,结果如下: 我们开始设想的是自增运算是在自身数值的基础上,进行常量的相加,这个常量可以不是1,当我们进行检测时发现了错误.这里的错误有两个,自增运算是固定加一,且自增运算符的书写是固定的,就是++不需要添加常量. 我们重新书写了java源程序,用DOS检测的结果为: 二. 谈论自增运算符参与复

Java图示(第二章 Java语言基础)

Java图示(第二章 Java语言基础) 三个基本部分:一个包声明(package语句).任意数量的引入(import语句).类和接口声明(class和interface语句) 1.包声明—package语句 1)包是类和接口的集合,即类库 2)用类库管理类,方便管理 3)Java类都在类库中 4)只有一条包声明,且为第一条 2.引入语句—import语句 1)import语句在包语句后,所有类或接口前 2)两种形式 (1)import 包名.类名: (2)import 包名*://编译器会识别

Thinking In Java笔记(第二章 一切都是对象)

第二章 一切都是对象 2.1 用引用操纵对象 每种语言都具有操纵内存中元素的方式,必须注意将要处理的是什么数据类型,是直接操纵元素还是基于某种特殊语法间接表示(例如C和C++里的指针)来操纵对象. java中一切都被视为对象,可以用单一固定的语法,但程序员所操纵的标识符实际上只是对象的一个"引用",引用可以独立于对象存在,也可以和实际的对象相关联.例如: String s1; String s2 = new String("hello world"); 上面的s1即

java编程思想 第二章

这篇时间较之前篇章时间靠后,是由于,某一天晚上看完Java编程思想文献之后来不及做笔记了. 以下笔记基本为转载,不是原创 第二章   一切都是对象 目录: 2.1 用引用操纵对象 2.2 必须由你创建所有对象 2.3 永远不需要销毁对象 2.4 创建新的数据类型:类 2.5 方法.参数和返回值 2.6 构建一个Java程序 2.7 你的第一个Java程序 2.8 注释和嵌入式文档 2.9 编码风格 2.1 用引用操纵对象 一切都看作对象,操纵的标识符实际上是对象的一个“引用”,遥控器(引用)操纵

java 第12节 基本算术运算符与模运算符

2016-06-29 + 加法运算- 减法* 乘法/ 除法% 取模++ 自加运算-- 自减运算+= 加法赋值-=*=/=%= 1 基本算术运算符 package com.java1995; /** * 基本算术运算符 * @author Administrator * */ public class Test { public static void main(String[] args){ //声明2个int类型变量 int i1=7; int i2=2; System.out.println

[Effective Java 读书笔记] 第二章 创建和销毁对象 第一条

第二章  创建和销毁对象 第一条 使用静态工厂方法替代构造器,原因: 静态工厂方法可以有不同的名字,也就是说,构造器只能通过参数的不同来区分不同的目的,静态工厂在名字上就能表达不同的目的 静态工厂方法不用每次调用的时候都创建新的对象(其实是因为它是static的,所以只能用static的,所以是一早就创建了,不需要重复创建吧..),比如书中 Boolean.valueOf(boolean) 1 public static final Boolean TRUE = new Boolean(true

java编程思想--第二章 一切都是对象

如果不做引申的话,本章没有多少可总结的内容.有些以前没有注意的细节可以写下来. 1.数据存储的位置 (1).寄存器.程序控制不了. (2).堆栈.对象的引用.基本类型. (3).堆.各种对象. (4).常量存储.和代码在一起. (5).非RAM存储.主要指流对象和持久化对象,前者准备网络传输,后者被丢到了硬盘上. 2.java中的数组会被自动初始化: (1).基本类型数组元素会被初始化为0 (2).引用类型数组元素会被初始化为null 3.变量作用域 (1).基本类型的跟C一样 (2).引用类型

java学习笔记第二章

二.面向对象 Oriented Object 以类组织代码,以对象来封装数据 面向过程:以方法(函数)组织数据,以线性的思维去解决:当数据量少,无问题:当数据多了,方法多了,以 方法为核心组织代码,累人:扩展性差,不易维护(当多人协同项目时) C语言结构体,多个变量集合在一块,方便管理:按照这个想法,横向竖向扩散/深入思考,把相近的方法也放在一起,方法反复调用变量, 深度发散,就把方法及变量打包到一块,这种概念在C语言里没有,就起名叫做类 class [ YY] 以类来组织代码,易于维护,易于扩