学习日记(五)java运算

java在运算的时候,会存在数据类型的转换,其中一种是自动类型转换,也称为隐式类型转换,这种转换需要满足一定的条件:

1.这两种类型是兼容的,例如同时都是整数类型或者都是数字类型

2.目的类型数的范围要大于来源数据的范围

运算时数据类型转换还有一种是强制类型转换,也称为显示类型转换,这种转换有的时候会发生截断和缩小,例如将一个小数强制转换成整数,则会丢弃小数部分。

所有byte型和short型在运算时会自动转换为int型,两个byte型运算的结果是int型而不是byte型;如果表达式中有操作数是long型,则整个表达式提升为long型,即结果是long型如果表达式中有操作数是float型,表达式提升为float型;如果有操作数是double型,则表达式提升为double型。

在java中有四大类运算符,分别是算术运算符、位运算符、关系运算符和逻辑运算符。

算术运算符:+、-、*、/、%(取余或者叫取模,即余数)、++(递增或者叫自增)、--(递减或者叫自减)、+=、-=、*=、/=、%=;需要注意的是,自增和自减运算时,符号在后时先使用后运算,符号在前时先运算后使用。在进行除法运算的时候,整数运算的结果会舍去小数位。%运算与c++不一样的是,在java中也可以用在小数上。

位运算符:暂时阶段几乎不用。

关系运算符:>、<、==、>=、<=、!=;在java中,一个=表示赋值,两个=才表示等于。

逻辑运算符:&、|、!、&&、||、^、&=、|=、^=、==、!=、?:;其中&&和||与&和|的不同在于前者有短路功能,?:代表三目运算,或者叫三元运算,?前是逻辑表达式,结果是true则取?和:之间的值,否则取:之后的值。

时间: 2024-10-24 12:32:59

学习日记(五)java运算的相关文章

Java基础学习笔记五 Java基础语法之面向对象

面向对象 理解什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式.面向过程的程序设计方式,是遇到一件事时,思考“我该怎么做”,然后一步步实现的过程.例如:公司打扫卫生(擦玻璃.扫地.拖地.倒垃圾等),按照面向过程的程序设计方式会思考“打扫卫生我该怎么做,然后一件件的完成”,最后把公司卫生打扫干净了.面向对象的程序设计方式,是遇到一件事时,思考“我该让谁来做”,然后那个“谁”就是对象,他要怎么做这件事是他自己的事,反正最后一群对象合力能把事就好就行了.例如,公司打扫

Python学习日记(五) 编码基础

初始编码 ASCII最开始为7位,一共128字符.最后确定8位,一共256个字符,最左边的为拓展位,为以后的开发做准备. ASCII码的最左边的一位为0. 基本换算:8位(bit) = 1字节(byte) 1024byte = 1 KB 1024KB = 1MB 1024MB = 1GB 1024GB = 1TB 电脑的传输还有存储实际上都是以二进制的形式进行的. Unicode:美国最初是使用ASCII编码,后来为了解决全球化的文字问题,创建了万国码(Unicode) 开端: 一个中文最初给两

Java学习日记(一)基础

标识符: 由26个英文字母大小写,数字:0-9 符号:_ $ 组成 定义合法标识符规则: 1.数字不可以开头. 2.不可以使用关键字. 3.Java中严格区分大小写. Java中的注释格式: 单行注释: 格式: //注释文字 多行注释: 格式: /* 注释文字*/ 文档注释: 格式:/** 注释文字 */ 常量: 常量表示不能改变的数值. java中常量的分类: 1.整数常量.所有整数 2.小数常量.所有小数 3.布尔型常量.较为特有,只有两个数值.true 和false. 4.字符常量.将一个

java基础知识回顾之java Thread类学习(五)--java多线程安全问题(锁)同步的前提

这里举个例子讲解,同步synchronized在什么地方加,以及同步的前提: * 1.必须要有两个以上的线程,才需要同步. * 2.必须是多个线程使用同一个锁. * 3.必须保证同步中只能有一个线程在运行,锁加在哪一块代码 那么我们要思考的地方有:1.知道我们写的哪些是多线程代码 2.明确共享数据 3.明确多线程运行的代码中哪些语句是操作共享数据的.. 4.要确保使用同一个锁. 下面的代码:需求:两个存户分别往银行存钱,每次村100块,分三次存完. class bank{ private int

java学习日记

我自己是学前端的,个人认为,如果一个前端连一个后台语言都不曾了解过,在工作中可能会和后台掐架,抱着这种心态来自己学学java,在这几天看过的书和视频来看,很多java当中的语法和js有很多相似之处,就比如说关键字:if,for之类的,可以说是编程语言当中最常见而且最常使用,使用方式也是相同的几个关键字了.经过两天的学习,了解了java和js的不同之处: 取值的方式不同,在js中找到input节点.value就能轻松取值,但是在java中,要取值首先要导入一个包"Scanner",创建&

java之jvm学习笔记五(实践写自己的类装载器)

java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类装载器和安全管理器是可以被动态扩展的,或者说,他们是可以由用户自己定制的,今天我们就是动手试试,怎么做这部分的实践,当然,在阅读本篇之前,至少要阅读过笔记三. 下面我们先来动态扩展一个类装载器,当然这只是一个比较小的demo,旨在让大家有个比较形象的概念. 第一步,首先定义自己的类装载器,从Clas

java学习日记第一天

java 学习日记 第一天 java学习准备工作 首先环境配置:一个是jdk安装,另一个编译工具 eclipse ,安装下载教程网上很多 找了一个照着做就行 : 上述步骤完成,我们就可以打开eclipse进行我们第一个程序的编写啦当然是编写我们熟悉的helloWorld创建一个Java Perfect 目前好像基本都习惯用工程管理我们就建一个java工程然后点开工程在src右键new一个class,不用问这是啥这是啥,先把程序跑起来,慢慢就懂了我们在{}写我们的程序,这就好比helloworld

201671010140. 2016-2017-2 《Java程序设计》java学习第五周

java学习第五周心得体会        本周,是Java学习第五周,随着时间推移,随着课本内容的推进,我们接触到的程序也开始变得越来越复杂,不再是二三章那些用来练手的小程序了,这一点,在我们的例题运行注解上就可以感受到,程序的长度,涉及到的知识越来越多.        本周学习主要关注超类与子类的关系--继承,继承是面向对象最显著的一个特性,从已有的类(超类)中派生出新的类(子类),新的类能继承已有类的数据属性和行为,并能扩展新的能力. Java继承是使用已存在的类的定义作为基础建立新类的技术

Java学习日记 num1

学习内容:JAVA语言的特点:path以及classpath环境变量区别:Java开发流程: 一.Java概述语言概述 1 Java概述语言概述 (1)是SUN(Stanford University Network,斯坦福 大学网络公司)1995年推出的一门高级编程语言 ? (2)是一种面向Internet的编程语言. ?   (3)随着Java技术在web方面的不断成熟,已经成 为Web应用程序的首选开发语言. ?  (4)是简单易学,完全面向对象,安全可靠,与平 台无关的编程语言. 2 J

java学习日记-0722班程*:告别国企的舒坦日子,选择尚硅谷

放着安逸的国企工作没做,毅然的选择了辞职,然后来到了帝都,来到了尚硅谷参加北京JAVA培训学习.今年本命年的我,发现自己还是过得那么浑浑噩噩,在国企的日子很爽,压力不大,收入不错,可是感觉自己没有大好的发展前景,年经的时候是奋斗的时候,唯有这样人到中年才能有所收获.带着这个想法,然后自己有在大学学习C语言的基础,所以想找准人生的方向拼一把,就来到了尚硅谷参加IT培训.                时至今日,培训已有一月多了.来到这里,感觉很亲切,这里的环境,这里的班主任,这里的讲师都是很给力.