Java数据类型(primitive)原始数据类型
1.小心别溢出来。
要确保变量能存下来所保存的值。
你无法用小杯子装大值。好吧,其实可以,但是会损失某些信息,也就是所说的溢位。当判断到所使用的容器不足以装载时,编译器会试着防止珍重情况发生。举例来说,你无法使用像下面这样的把int大小的东西装进byte的容器中:
int x = 24;
byte b = x; //不行。
你可以用以下几种方式来给变量赋值:
1.在等号后面直接打出(x = 12,isGood = true)
2.指派其他变量的值(x = y)
3.上述两种方式的组合。(x = y + 43)。
下面粗体字部分是直接打出值的例子:
int size = 32; int 类型的32,名称为size
char initial = ‘j’; char类型的'j',名称为initial
int y = x + 456; 名称为y的int类型变量,其值为x与456相加运算的结果
避开关键字:(keyword)!
你已经知道变量需要名称和类型。
你已经知道什么是primitive主数据类型。
boolean byte char double float int long short
public private protected abstract final native static strictfp
sybchronized transient volatile if else do while switch case default for break continue assert
class extends implements import instanceof interface new package super this catch finally try throw throws
return void const goto enum 这些是Java的保留字,如果你把它们用在名称上面,编译器会列出混乱的结果。
二、对象引用
控制Dog对象 你已经知道要如何声明primitive主数据类型并赋值给它。但非primitive主数据类型的变量又该如何处理呢?换句话说,对象要怎么处理呢?
1.引用变量不知道大小(根据Java虚拟机有关。);
2.引用变量都具有相同的大小,而不管它实际上所引用的对象大小。
3.不可以对引用变量进行运算。
数组犹如杯架
1.声明一个int数组变量。数组变量是数组对象的遥控器。
int[] nums;
2.创建大小为7的数组,并将它赋值给之前声明为int[] 的变量nums。
nums = new int[7];
3.赋予int数组的每一个元素一个int值。要记得在int数组中的每个元素皆为int类型的变量。
数组也是对象
Java的标准函数库包含了许多复杂的数据结构,比如map、tree、和set(见附录B),但如果需要快速、有序、有效率地排列元素时,数组是不错的选择。数组能够让你使用位置索引来快速、随机地存取其中的元素。
在上面的图中有一项要注意的:数组是个对象,不管里面放的是不是primitive主数据类型。
无论被声明来承载的是primitive主数据类型或对象引用,数组永远是对象。但你可以声明出可以装载primitive主数据类型值的数组。换句话说,数组对象可以有primitive主数据类型的元素,但数组本身绝对不会是primitive主数据类型。不管数组带有什么,它一定是对象!
1.Dog [] = pets;
2.pets = new Dog[7];
3.pets[0] = new Dog();
pets[1] = new Dog();
pets[2] = new Dog();
Dog[] myDogs =new Dog[3];
myDogs[0] = new Dog();
myDogs[1] = new Dog();
myDogs[2] = new Dog();
myDogs[0].name = "Fido";
myDogs[0].bark();
此处的说明还未用到封装的概念,我们会在第4章中加以讨论。
class Dog{
String name;
public static void main(String[] args){
//创建Dog对象
Dog dog1 = new Dog();
dog1.bark();
dog1.name = "Bart";
//创建Dog数组
Dog[] myDogs = new Dog[3];
//关门放狗
myDogs[0] = new Dog();
myDogs[1] = new Dog();
myDogs[2] = dog1;
//通过数组引用存取Dog
myDog[0].name = "Fred";
myDog[1].name = "Marge";
System.out.print(" last dog's name is ");
System.out.print(myDogs[2].name);
int x = 0;
while(x < myDogs.length){
myDog[x].bark();
x = x + 1;
}
}
public void bark(){
System.out.print(name + " says Ruff! ");
}
}
Java数据类型(primitive)原始数据类型的更多相关文章
- Java 原始数据类型
如何记住 Java 中的原始数据类型? 画了一个图方便记忆:
- 1 Java学习之 基本数据类型
1. 基本概念 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的.简单的,各种数据类型都需要在学习 ...
- js原始数据类型和引用数据类型=>callback数据传输原理
摘要:js的数据类型有种划分方式为 原始数据类型和 引用数据类型. 原始数据类型 存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置.栈区包括了 变量的标识符和变量的值. ...
- Java 原始数据类型的计算:运算符重载(Operator Overload)和类型转换(Type Conversion)
原文阅读:<算法(第四版)>第一章 第一节:基础编程模型 有没有在面试的时候被问到:下面这几行代码的执行结果是什么?依据是什么? System.out.println (5/3); Sys ...
- JAVA 1.2(原生数据类型 Primitive Data Type)
1. Java的数据类型分为2类 >> 原生数据类型(primitive data type) >> 引用数据类型(reference data type) 3. 常量和变量 ...
- Java parseInt_使用此方法得到的原始数据类型的一个特定的字符串
Java parseInt解释加方法示例 使用此方法得到的原始数据类型的一个特定的字符串. parseXxx()是一个静态方法,可以有一个参数或两个 java parseInt ...
- Java语言基础(五) Java原始数据类型的分类以及数据范围
Java原始数据类型的分类以及数据范围 1.基本数据类型分为:整型(byte, short, int, long),浮点型(float, double),字符型(char),布尔型(boolean) ...
- Java中原始数据类型存放位置理解
原始数据类型的变量存放在栈还是堆,应该由上下文去决定. 如下所示的局部方法中,定义了本地变量a,且为原始数据类型,所以存放在栈中. public void func(){ int a = 3; } 再 ...
- Java中的原始类型(Primitive Types)与引用类型(Reference Values)
Java虚拟机可以处理的类型有两种,一种是原始类型(Primitive Types),一种是引用类型(Reference Types). 与之对应,也存在有原始值(Primitive Values)和 ...
- JAVA中分为基本数据类型及引用数据类型
一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768 ...
随机推荐
- React 组件间通信介绍
React 组件间通信方式简介 React 组件间通信主要分为以下四种情况: 父组件向子组件通信 子组件向父组件通信 跨级组件之间通信 非嵌套组件间通信 下面对这四种情况分别进行介绍: 父组件向子 ...
- windows下Redis的安装和使用
1.要安装Redis,首先要获取安装包.Windows的Redis安装包需要到以下GitHub链接找到.链接:https://github.com/MSOpenTech/redis.打开网站后,找到R ...
- sosreport-汇总收集linux系统信息
有时候我们想将Linux服务器信息一次性查询并导出发送给他人,我们可以使用这个sosreport这个工具 安装 yum install sos -y 收集信息 sosreport 收集到的信息默认保 ...
- C#如何调用以管理员身份运行的cmd命令提示符
windows自从vista.win7.win8/8.1以及win10以来,命令行提示符分为两种模式,一种是普通用户模式,一种的管理员模式,很多情况下,我们的程序需要在命令提示符(管理员身份)的状况下 ...
- servlet中的request和response
request对象 1.什么是请求 a.浏览器向服务器发送数据就是请求. 一.request功能1--获取数据 1.获取浏览器相关的信息 getRequestURL方法 -- 返回客户端发出请求完整U ...
- chrome浏览器onunload方法无法执行window.location.href
记录用户不正常退出,如关闭浏览器的时候,执行onunload方法,跳回后台记录用户已经退出的信息,在ie上可以正常跳转,但在Firefox和chrome上却无法跳转. 测试后发现以下方法可以实现,支持 ...
- flutter mac 下安装
- <python的线程与threading模块>
<python的线程与threading模块> 一 线程的两种调用方式 threading 模块建立在thread 模块之上.thread模块以低级.原始的方式来处理和控制线程,而thre ...
- Hello 2019
2019也要创造价值! 热爱生活!
- excel安装wps后不能正常启动
1. HKCU\Software\Microsoft\Office\15.0\Word\Options 设置NoReReg REG_DWORD =1 2.重命名C:\Program Files (x8 ...