Java 基础【06】复合赋值运算】的更多相关文章

这是今天在开发当中遇到的问题,虽然不是很大,但还是花了一点时间去琢磨. 嗯,好了.先看一段源代码 short value=2; value-=2; 源码就是上面这个样子的,我动手写的时候因为理解的问题,把代码改成了这个样子 short value=2; value=value-2; 这时候编译器就和我杠上了,报第二行有错.想想也对, value 变量和一个整型运算后 Java 会自动将运算结果提升到 int 类型,这和 value 定义的时候的 short 类型的产生矛盾. 提供的修改意见有两个…
http://aokunsang.iteye.com/blog/615658 前奏:   昨天一哥们问我Java位移你会吗,我说不会,想想位移这么麻烦,一般有位移的Java代码一律不看,有几个人会啊,是吧?但是那哥们的回答,让我郁闷半天:“这都不会啊,都是Java基础的东西呀!”我靠,我晕倒,听着老不爽了,so我决定对位移一探究竟,原来也这么随意啊,哈哈.因此,把心得总结如下,欢迎收看. 在这里先感谢一下,JavaEye上的高手们的技术博客指点.TKS very much. 技术总结: <1>…
占用字节数 & 取值范围 Java一共有8种基本数据类型(原始数据类型): 类型 存储要求 范围(包含) 默认值 包装类 int 4字节(32位) -2^31~ 2^31-1 0 Integer short 2字节(16位) -215~215-1 0 Short long 8字节(64位) -2^63~2^63-1 0 Long byte 1字节(8位) -2^7~2^7-1 0 Byte float 4字节(32位) -3.4e+38 ~ 3.4e+38 0.0f Float double 8…
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们已经尝试去定义类.定义类,就是新建了一种类型(type).有了类,我们接着构造相应类型的对象.更进一步,每个类型还应该有一个清晰的接口(interface),供用户使用. 我们可以在一个新类的定义中使用其他对象.这就是组合(composition).组合是在Java中实现程序复用(reusibility)的基本手段之一. 组合与"has-a" 一个对象是另一个对象的…
  一.递归是指直接或间接地调用自身. 二.递归的注意事项:             A:要有出口,否则就是死递归 B:次数不能过多,否则内存溢出 C:构造方法不能递归使用     三.举例子  递归求阶乘 /** * 求5的阶乘 * * @author sun * */ public class Test { public static void main(String[] args) { System.out.println(factorial(5)); } private static i…
在一个新类的定义中使用其他对象.这就是组合(composition).组合是在Java中实现程序复用(reusibility)的基本手段之一.   组合与"has-a" 一个对象是另一个对象的数据成员.比如我们看之前提到的充电电筒的例子: 一个充电电筒中的电池.LED灯.按钮…… 都可以是一个对象.我们可以定义一个Battery类来定义和产生电池对象.而在充电电筒的类定义中,可以用一个电池对象作为其数据成员,来代表电池部分的状态. 我们下面定义一个Battery类,并用power来表示…
IO用于在设备间进行数据传输的操作. Java IO流类图结构:   IO流分类 字节流: InputStream FileInputStream BufferedInputStream OutputStream FileOutputStream BufferedOutputStream 字符流: Reader FileReader BufferedReader Writer FileWriter BufferedWriter 一.FileInputStream/FileOutputStream…
public class SwitchDemo01 { /** * 韩嫣参加计算机编程大赛 如果获得第一名,将参加麻省理工大学组织的1个月夏令营 如果获得第二名,将奖励惠普笔记本电脑一部 如果获得第三名,将奖励移动硬盘一个 否则,不给任何奖励 */ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请您输入比赛的名次:"); int…
057 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 04 案例:求整型数组的数组元素的元素值累加和 本文知识点:求整型数组的数组元素的元素值累加和 案例:求整型数组的数组元素的元素值累加和 前面我们学习了如何对数组元素进行赋值. 这次课,我们看如何从键盘接收数据,为数组元素赋值,并且求累加和. 程序代码(输入元素及打印结果)及其运行结果: 程序代码(求完累加和)及其运行结果: 这道例题演示了: 1.如何从键盘接收数据 2.数组数据的输出 3.如何操作数组元素…
056 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 03 一维数组的应用 本文知识点:数组的实际应用 程序开发中如何应用数组? 程序代码及其运行结果: 不同数据类型的数组的数组元素的默认值是? int类型数组的数组元素默认值是:0 String类型数组的数组元素默认值是:null (表示空值元素,在后面的面向对象的学习中,我们会用到很多.其实可以给大家总结一点,即:所有对象数组[String类型的数组就是对象数组]在进行创建的时候,默认值都是null,就是空…
055 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 02 数组的概念 本文知识点:数组的概念 数组的声明创建.初始化 在学习数组的声明创建.初始化前,我们可以和之前的变量的声明创建.初始化进行对比来学习. 那我们来看一下数组的声明,先来看一下语法格式. 数组的声明 数组声明语法格式1 数组声明格式1: 数据类型 [] 数组名; 变量声明格式: 数据类型 变量名; 数组声明相比变量声明,在数据类型后增加了一个中括号.而数组名的命名规则和变量名的命名规则是一致的…
012 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 06 浮点型"字面值" 浮点型字面值 首先要知道一点:在整型部分中,默认情况下,即整型数值末尾什么都不写的情况下,表示的是int类型的字面值:而在浮点型部分,如果一个浮点型数值末尾什么都不写,它表示的是double类型的字面值(这种字面值也可以在末尾加上大写或者小写的d表示) 浮点数如何定义和使用? 声明变量时报错:类型不匹配 type mismatch,cannot convert from…
问题:i += j只是i = i + j的简写么? 答案:非也!看下面的程序: int i = 5; long j = 8; i += j; // 可以通过编译且结果正确 i = i + j; // 无法通过编译,类型转换问题 其实,Java会将i += j转换为i = (int)(i + j)来执行. 通常,一个E1 op= E2形式的复合赋值表达式,等价于E1 = (T)((E1) + (E2)),T即为E1的类型. ps:Java如何生成一个区间的整数(如100-200)? 答: publ…
在日常的Java开发中,位运算使用的不多,使用的更多的是算数运算(+.-.*./.%).关系运算(<.>.<=.>=.==.!=)和逻辑运算(&&.||.!),所以相对来说对位运算不是那么熟悉,本文将以Java的位运算来详细介绍下位运算及其应用. 1. 位运算起源 位运算起源于C语言的低级操作,Java的设计初衷是嵌入到电视机顶盒内,所以这种低级操作方式被保留下来.所谓的低级操作,是因为位运算的操作对象是二进制位,但是这种低级操作对计算机而言是非常简单直接,友好高效…
直接贴代码,这个也是做题目中遇见的,觉得很好奇,查了一波,然后自己编写代码看了一下,果真如此,哈哈哈...... public class 关于Boolean的赋值运算 { public static void main(String[] args) { Boolean flag = false; //java赋值运算是有返回值的,赋了什么值,就返回什么值 if(flag = true) { System.out.println("true"); }else { System.out.…
前言:面对“byte b1=3;byteb2=7;byte b=b1+b2;”报错,而“int i1=3;int i2=7;int i=i1+i2;”不报错,进行了深入探究,从而引申出java基本类型之间赋值与运算操作的规律.通过自己制作的图例分析,达到对不同基本数据类型之间的赋值与运算结果的正确判断.不会再出现事实而非的回答,知道运算底层.好了,言归正传. 先送给大家今天我看到的一句话,觉得很有意义 如果你自己都模棱两可的话,不要指望Java虚拟机会明白你的意思. 一.  认识赋值运算符. 赋…
074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明):有些步骤和相关知识点缺乏文字描述,可能会难以理解.读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的"关于博主"处…
068 01 Android 零基础入门 01 Java基础语法 08 Java方法 06 参数传递问题--基本数据类型传值 本文知识点:参数传递问题--基本数据类型传值 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明):有些步骤和相关知识点缺乏文字描述,可能会难以理解.读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的"关于博主"处)与本人交流,共同…
061 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 08 一维数组总结 本文知识点:一维数组总结 总结 注意点…
060 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 07 冒泡排序 本文知识点:冒泡排序 冒泡排序 实际案例分析冒泡排序流程 第1轮比较: 第1轮比较的结果:把最大的值56放到了末尾 第2轮比较: 第2轮比较的结果:把第2大的值53放到了倒数第2个位置 第2轮比较的次数比第1轮少,每一轮比较次数都越来越少 第3轮比较: 第4轮比较: 第5轮比较: 5轮比较排序后最终的结果: 以上过程就是一个完整的冒泡排序案例 冒泡排序程序代码及其运行结果 public st…
059 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 06 增强型for循环 本文知识点:增强型for循环 增强型for循环格式 案例练习增强型for循环 数组名字是一个引用,指向的是数组的第一个元素 如何交换2个变量的值?…
058 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 05 案例:求数组元素的最大值 本文知识点:求数组元素的最大值 案例:求数组元素的最大值 程序代码及其执行过程分析: 过程分析如上图,已经算是将过程分析的非常清晰了.如果有不解之处,欢迎私信及微信交流(本人微信文章底部有介绍).…
054 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 01 数组概述 本文知识点:数组概述 为什么要学习数组? 实际问题: 比如我们要对学生的成绩进行排序,一个班级有30个学生,那我们对每个学生的成绩分别定义变量来存储,那需要定义30个变量.听起来就头大,要定义这么多变量.所以Java中提供了数组来解决这类需要大量存储数据的问题.数组就是这类问题的解决方案. 数组定义:相同数据类型的数据按照顺序组成的引用数据类型. 这句数组的定义需要熟记. 这里面数组的概念,…
044 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 06 使用do-while循环实现猜字游戏 本文知识点:do-while循环深入运用 案例练习 案例题目: 程序代码及其执行结果: public static void main(String[] args) { //设置要猜的数 int number = 6; int guess; System.out.println("请猜一个介于1到10之间的数!"); do{ System.ou…
026 01 Android 零基础入门 01 Java基础语法 03 Java运算符 06 if-else条件结构 本文知识点:Java中的if-else条件结构语句 上文回顾--if条件结构 如果出现不满足条件的也需要操作的该怎么办? 比如成绩判断问题. if-else条件结构语句的格式 if:条件为true才执行 if-else条件结构代码实例 程序代码: 程序代码执行结果: Java中从键盘输入数据…
006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序 Eclipse下创建程序 创建程序分为以下几个步骤: 1.首先是创建一个Java工程 2.在Java工程下创建一个package,即创建一个包 3.在package下创建类 4.最后是编写和执行程序 Eclipse下创建工程 Java中构建设置: 工程创建好:src目录存放Java源文件 在Eclipse创建好的工程中创建包 包的好处之一:不同的包下面可以建立相同名字的…
注意:在赋值运算的时候,会自动发生数据类型转变 例子 public class test{ public static void main(String[] args){ byte num = 5; // num = num + 10 => byte = byte + int => byte 数学运算中自动提升 => byte = int + int => byte = (byte)15 num += 10; System.out.println(num); } } python…
之前的文章说明了变量的三大组成部分,详细说明了变量名与变量值,但是对于赋值这一块介绍相对较少,今天就来对这一部分进行补充,除了egon老湿所讲之外,本喵还参阅了<python3-cookbook>中的内容,进行补充扩展. 一.基本赋值运算 = , += , -= , /= , %= , //= 这些基本的赋值运算不必多说,需要注意的是,"="与前一个符号之间不能有空格. 二.交叉赋值 现在有两个变量x,y,分别对应3,4:现在需要将这两个变量的值进行交换,如何快速简明的实现…
http://blog.csdn.net/silentbalanceyh/article/details/4608272 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没有考虑到会坚持往后边写,这次应该是更新该内容.而且很讨厌写基础的东西,内容比较琐碎,而且整理起来总会很多,有可能会打散成两个章节,但是我不保证,有可能一个章节就写完了,所以有时候希望基础的很多内容还是读者自己去看看,我基本保证把基础的内容全部都写出来,见谅.这一个章节写了过后我会把前边那个关于基础类…
Java学习笔记整理 本文档是我个人整理的,首先是想通过完成本文档更加扎实自己的基础加强对java语言的理解,然后就是想给入了门的同志们做下贡献. 当然,本文档主要是对java语言基础(当然还有很多基础没有涉及到)的进行较全面的理解已经整理,只要充分掌握了基础知识,学习高级部分的知识才会事半功倍犹如轻车熟路一般容易上手. 正文: CLASSPATH的设置:我们知道运行java必须要设置CLASSPATH环境变量,但是sun  java 1.4之后改进了设计,JRE会自动搜索当前路径下的类文件,而…