java中也有对数据的运算处理,java中数据分为常量和变量,常量就是直接固定不变的数据,变量是数据可能发生改变的数据,如下:

int a=0; a=1+1;

  上边代码,a就是变量,初始为0,接下来又赋值为1+1,最终结果为2。上边0和1是常量,是不会变的。总结起来就是常量是代码直接写明值的,变量是需要赋值处理的。

   java中大多都是对变量进行处理,变量需要指定数据类型,上边代码中的int就是数据类型。数据类型分为两大类:基本数据类型和引用数据类型。

  基本数据类型有8个:byte、short、int、long、float、double、char、boolean,下图是具体说明:

 

  基本数据类型代码示例:

 

  引用数据类型分为:数组,类,接口。在之后会具体讲解,这里先不详细说明。

  变量都要明确定义为一个数据类型,在同一个代码块中,变量不能重复定义,既不能有同一变量名,不同变量类型的定义。同一代码块就是指两个大括号中的内容,类似这样就是不允许的,代码会提示报错:

 

  变量必须给一个初始值,不然会报错,初始值不一定在定义时给定,只要在用到变量之前给定即可。如:int a; int b=0; a=1; int c=a + b;

在同一个代码块内,用到a之前赋值即可。

  需要注意的是,如果两个不同数据类型的变量运算时,会发生数据类型的转换,小数据类型会自动向大数据类型转换,如:int a =1; long b=100;  long c=a + b; 变量c要用long类型定义。这种是由小到大的自动转换,转换规则:byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double。

  我们也可以手动强制将大类型转换为小类型,格式为:数据类型 变量名 = (数据类型)被转数据值;这种称为强制转换,可能会导致数据精度的缺失,如:int i = (int)1.5; 1.5本来是小数,强制转换为整数int之后,会丢失小数部分,变量i值为1。

java自学-基本数据类型的更多相关文章

  1. JAVA自学笔记05

    JAVA自学笔记05 1.方法 1)方法就是完成特定功能的代码块,类似C语言中的函数. 2)格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,-){ 函数体; return ...

  2. JAVA自学笔记06

    JAVA自学笔记06 1.二维数组 1)格式: ①数据类型[][]数组名 = new 数据类型[m][n]; 或 数据类型[]数组名[]=new 数据类型[m][n]; m表示这个二维数组有多少个一维 ...

  3. JAVA自学作业02

    JAVA自学作业02 1.什么是标识符?由哪些部分组成?常见的命名规则有哪些? 标识符是用户为变量的内存空间所定义的字符序列: 可以由字母.下划线.美元符号以及数字组成,但数字不可作为首字符.标识符不 ...

  4. JAVA自学笔记13

    JAVA自学笔记13 1.StringBuffer类 1)线程安全的可变字符序列 线程安全(即同步) 2)StringBuffer与String的区别:一个可变一个不可变 3)构造方法: ①publi ...

  5. JAVA自学笔记12

    JAVA自学笔记12 1.Scanner 1)JDK5后用于获取用户的键盘输入 2)构造方法:public Scanner(InputStream source) 3)System.in 标准的输入流 ...

  6. JAVA自学笔记15

    JAVA自学笔记15 @例题1:共有5个学生,请把五个学生的信息存储到数组中,并遍历数组,并获取每个学生的信息 Students[] students=new Student[5]; Student ...

  7. JAVA自学笔记17

    JAVA自学笔记17 1.Map接口 1)概述 将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值.可以存储键值对的元素 2)与Collection接口的不同: ①Map是双列的 ...

  8. JAVA自学笔记20

    JAVA自学笔记20 1.递归: 1)方法定义中定义中调用方法本身的现象 2)要有出口,否则就是死递归 次数不能太多.否则内存将溢出 构造方法不能递归使用 //斐波那契数列:1,1,2,3,5,8,1 ...

  9. JAVA自学笔记22

    JAVA自学笔记22 1.操作基本数据类型的流 DataInputStream DataOutputStream 数据输出流允许应用程序以适当方式将基本的Java数据类型写入输出流中.然后,应用程序可 ...

随机推荐

  1. 文本比较算法Ⅱ——Needleman/Wunsch算法的C++实现【求最长公共子串(不需要连续)】

    算法见:http://www.cnblogs.com/grenet/archive/2010/06/03/1750454.html 求最长公共子串(不需要连续) #include <stdio. ...

  2. Android Google Analytics

    基础知识: 一个统计条目包含两类,一种是 screen,另一种是 event. Screen 包括 screen name. Event 包括  category,action,label 和 val ...

  3. Redis安装步骤 - linux系统下

    https://blog.csdn.net/lzj3462144/article/details/70973368 https://www.cnblogs.com/pyyu/p/9467279.htm ...

  4. XCode - vmware虚拟机安装XCode进行iPhone真机调试

    1.vmware安装黑苹果,然后在appStore安装XCode http://blog.csdn.net/forgot2015/article/details/51104329 2.真机调试证书等申 ...

  5. C# MVC 与Java MVC

    C# MVC与Java MVC都是三层结构:Controller.View.Model,基本上没有什么区别. 但是C# MVC有很多的变形模式: 上图所示就是C#里面MVC变向模型,里面包含BLL.C ...

  6. iOS下载图片失败

    一.具体问题 开发的过程中,发现某个界面部分图片的显示出现了问题只显示占位图片,取出图片的url在浏览器却是能打开的,各种尝试甚至找同行的朋友帮忙在他们项目里展示都会存在问题,最终发现通过第三方框架S ...

  7. POJ 1101

    #include <iostream> #include <string> #define MAXN 78 #define min _min #define inf 12345 ...

  8. Java之BigDecimal

    转载请注明源出处:http://www.cnblogs.com/lighten/p/6963836.html 1.前言 编程人员都应该知道计算机计算浮点数是不精确的,结果是近似数值,当然具体值还是和计 ...

  9. Python的不定长参数研究

     通过观察程序和运行结果我们发现,传参时将1传给了a,将2传给了b,将3,4,5传给了*args,将m=6,n=7,p=8传给了**kwargs.为什么是这样传参呢?*args和**kwargs又是什 ...

  10. java内存数据管理

    准确的说应该是java8以前的内存管理方式 区别在永久代(方法区)上 public class RamManager { //1.a存储于永久代 public static int a =1; pri ...