变量

Java ——变量类型

邮差的信 提交于 2020-02-25 23:43:17
变量声明 int a, b, c; // 声明三个int型整数:a、 b、c int d = 3, e = 4, f = 5; // 声明三个整数并赋予初值 byte z = 22; // 声明并初始化 z String s = "runoob"; // 声明并初始化字符串 s double pi = 3.14159; // 声明了双精度浮点型变量 pi char x = 'x'; // 声明变量 x 的值是字符 'x'。 Java语言支持的变量类型有: 类变量 :独立于方法之外的变量,用 static 修饰。 实例变量 :独立于方法之外的变量,不过没有 static 修饰。 局部变量 :类的方法中的变量。 public class Variable{ static int allClicks=0; // 类变量 String str="hello world"; // 实例变量 public void method(){ int i =0; // 局部变量 } } 举例: package hello; //首先要知道变量应该是赋值以后才能使用的,但是有些不必人为赋值就有默认初始值,但是有些要人为定义初始值 //所以有些直接使用的并不是没有赋值,而是系统自定义了初始值,所以不会报错 public class Variable { public String instance =

Android课程---final关键字

前提是你 提交于 2020-02-25 23:35:23
final 在Java中声明属性、方法和类时,可使用关键字final来修饰。 final变量即为常量,只能赋值一次; final方法不能被子类重写; final类不能被继承。 1. final变量 声明 final 字段有助于优化器作出更好的优化决定,因为如果编译器知道字段的值不会更改,那么它能安全地在寄存器中高速缓存该值。final 字段还通过让编译器强制该字段为只读来提供额外的安全级别。 其初始化可以在两个地方,一是其定义处,也就是说在final变量定义时直接给其赋值,二是在构造函数中。这两个地方只能选其一,要么在定义时给值,要么在构造函数中给值,不能同时既在定义时给了值,又在构造函数中给另外的值。 一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。 当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的值。 另外方法中的内部类在用到方法中的参变量时,此参变也必须声明为final才可使用。 在java中,普通变量系统是自动初始化的,数值变量自动初始化为0,其余类型变量自动初始化为空。但是final类型的变量必须显示初始化,且初始化的方法必须是在申明时或者在构造方法中直接赋值,而不能通过调用函数赋值。 2. final方法 如果一个类不允许其子类覆盖某个方法,则可以把这个方法声明为final方法。

extern “c”

天大地大妈咪最大 提交于 2020-02-25 23:33:19
extern "C"的双重含义 1.被它修饰的目标是“extern ”; 2.被它修饰的目标是“C ”。 让我们来详细解读这两重含义。 被extern "C"限定的函数或变量是extern类型的。 extern 是C/C++ 语言中表明函数和全局变量作用范围(可见性)的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。记住下列语句: extern int a; 仅仅是一个变量的声明,其并不是在定义变量a ,并未为a 分配内存空间。变量a 在所有模块中作为一种全局变量只能被定义一次,否则会出现连接错误。 引用一个定义在其它模块的全局变量或函数(如全局函数或变量定义在A 模块,B 欲引用)有两种方法: 1.B 模块中include 模块A 的头文件; 2.模块B 中对欲引用的模块A 的变量或函数重新声明一遍,并前加extern 关键字。 通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern 声明。例如,如果模块B 欲引用该模块A 中定义的全局变量和函数时只需包含模块A 的头文件即可。这样,模块B 中调用模块A 中的函数时,在编译阶段,模块B 虽然找不到该函数,但是并不会报错;它会在连接阶段中从模块A 编译生成的目标代码中找到此函数。 与extern 对应的关键字是static ,被它修饰的全局变量和函数只能在本模块中使用。因此

Java千问:Java位运算经典应用(二)

一笑奈何 提交于 2020-02-25 23:30:50
接上篇 三、不借助中间变量交换两个变量的值 通常情况下,我们要交换两个变量的值都按如下步骤操作: 这种操作方式不难理解,实现交换变量值的关键点就在于中间变量c。而现在的题目要求是不借助中间变量来交换a和b的值。如果不使用位运算的方式,同样可以做到不借助中间变量交换两个变量的值,其实现过程如下。 为了讲解方便,我们把最初a与b的值称之为原始a和原始b,3行代码就是3步操作: 第1步:把原始a与原始b相加的和存储到变量a中,变量b的值暂时没有发生变化。 第2步:用这个和减去原始b,再赋值到变量b中,经过这一步运算,变量b中就保存了原始a的值。 第3步:用原始a、b之和减去原始a的值,就得到原始b,并且把这个值保存到变量a中。 通过以上3步就实现了a、b两个变量在不借助中间变量的情况下进行值的交换。这种算法虽然没有借助中间变量,但有一个问题是如果a和b都是较大的数,在做第1步操作的时候就有可能出现两值相加的和超出int类型的最大值,产生溢出的现象,从而导致后面的运算全部出错。 而我们用位运算的方式实现交换,就不存在这个问题了。具体代码如下: 讲述这段代码之前,先回顾一个运算规律,那就是: a^b^b的运算结果等于a 。对此运算规律有疑义,请阅读《 Java千问:Java语言位运算符详解 》一文。为了表述方便,我们把a^b的操作称之为”用b对a加密”,之所以这么称呼

Java 变量类型

时光毁灭记忆、已成空白 提交于 2020-02-25 23:26:40
在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下: type identifier [ = value ] [ , identifier [ = value ] ... ] ; 格式说明:type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明多个同类型变量。 以下列出了一些变量的声明实例。注意有些包含了初始化过程。 int a , b , c ; // 声明三个int型整数:a、 b、c int d = 3 , e = 4 , f = 5 ; // 声明三个整数并赋予初值 byte z = 22 ; // 声明并初始化 z String s = " runoob " ; // 声明并初始化字符串 s double pi = 3 .14159 ; // 声明了双精度浮点型变量 pi char x = ' x ' ; // 声明变量 x 的值是字符 'x'。 Java语言支持的变量类型有: 类变量:独立于方法之外的变量,用 static 修饰。 实例变量:独立于方法之外的变量,不过没有 static 修饰。 局部变量:类的方法中的变量。 实例 public class Variable { static int allClicks = 0 ; // 类变量 String str = " hello world " ; // 实例变量

Java 变量类型

本小妞迷上赌 提交于 2020-02-25 23:25:41
Java 变量类型 在Java语言中,所有的变量在使用前必须声明。声明变量的基本格式如下: type identifier [ = value ] [ , identifier [ = value ] ... ] ; 格式说明:type为Java数据类型。identifier是变量名。可以使用逗号隔开来声明多个同类型变量。 以下列出了一些变量的声明实例。注意有些包含了初始化过程。 int a , b , c ; // 声明三个int型整数:a、 b、c int d = 3 , e = 4 , f = 5 ; // 声明三个整数并赋予初值 byte z = 22 ; // 声明并初始化 z String s = " runoob " ; // 声明并初始化字符串 s double pi = 3 .14159 ; // 声明了双精度浮点型变量 pi char x = ' x ' ; // 声明变量 x 的值是字符 'x'。 Java语言支持的变量类型有: 类变量:独立于方法之外的变量,用 static 修饰。 实例变量:独立于方法之外的变量,不过没有 static 修饰。 局部变量:类的方法中的变量。 实例 public class Variable { static int allClicks = 0 ; // 类变量 String str = " hello world " ; /

初识llinux-第一周个人小记

时光总嘲笑我的痴心妄想 提交于 2020-02-25 22:03:33
计算机系统:主要有硬件系统和软件系统组成 第一代计算机--属于电子管时代 第二代计算机--晶体管时代 第三代计算机--集成电路时代 第四代计算机--大规模集成电路时代 2.在1946的时候由数学家冯‘诺伊曼提出,计算机是由运算器、控制器、存储器、输入设备和输出设备五大部分组成。 根据计算机的复杂程度可分为一下几种: 超级计算机,大型机,小型机,微机; 3.众所周知,linux的核心原型是1991年有linux Torvalds编写的,而linux系统中核心就是"kernel",它是LINUX操作系统最底层的东西,主要管理的事项如下: 系统接口调用、进程控制、内存管理、文件系统管理、设备驱动程序调用; --》而在linux与用户的关系中当用户在操作linux系统时通过用户界面,shell,KDE,等应用来接受用户的命令与核心(kernel)进行沟通,当核心(kernel)收到上层输入指令后来控制硬件工作,其中包括CPU管理,内存管理,磁盘输出,输入管理等工作。但是在整个系统中实际的工作者是硬件部分,然而硬件部分有包含了显卡,网卡,CPU,内存等,然而没有了底层的硬件一切都没有意义。 注:内核提供驱动底层应用功能,而linux提供了内核产生了OS接口: GUI:图形化接口 CLI:命令行接口 --RAID 即 Redundant Arrays of Independent Drives

JAVA面试题及参考分析-JAVA基础篇-1

落爺英雄遲暮 提交于 2020-02-25 21:53:53
1.抽象和封装的不同点 抽象和封装是互补的概念。一方面,抽象关注对象的行为。另一方面,封装关注对象行为的细节。一般是通过隐藏对象内部状态信息做到封装,因此,封装可以看成是用来提供抽象的一种策略。 2.重载和重写的区别 重载: 发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。 重写: 发生在父子类中,方法名、参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为private则子类就不能重写该方法。 3.字符型常量和字符串常量的区别 字符常量是单引号引起的一个字符 字符串常量是双引号引起的若干个字符字符常量相当于一个整形值(ASCII值),可以参加表达式运算 字符串常量代表一个地址值(该字符串在内存中存放位置)字符常量只占一个字节 字符串常量占若干个字节(至少一个字符结束标志)4.成员变量与局部变量的区别有那些? 从语法形式上,看成员变量是属于类的,而局部变量是在方法中定义的变量或是方法的参数;成员变量可以被public,private,static等修饰符所修饰,而局部变量不能被访问控制修饰符及static所修饰;但是,成员变量和局部变量都能被final所修饰;从变量在内存中的存储方式来看,成员变量是对象的一部分,而对象存在于堆内存

Java基础学习之路-笔记day11

心不动则不痛 提交于 2020-02-25 21:23:18
JavaSe-day11-类和对象 类和对象概念 生活中所有的内容和事物,都可以用一个名词概括:东西 在Java中,所有的内容和事物,也都可以用一个名词概括:对象。 概念对比 生活中 Java中 类别/种类 类 - class 个体(具体的某个个体) 对象 - Object 属性:有什么参数 成员变量 行为:能干什么 成员方法 1、 类和对象的关系 生活中:类别和个体的关系 类别是个体的抽象 //界门纲目科属种 个体是类别的真实一个存在 Java中:类和对象的关系 类是对象的抽象 对象是类的实例 类 : 具有相同属性和行为的一类事物的集合/抽象 ,封装的是这类事务共有的属性和行为。 对象:类下面真实存在的很具体的一个个体 对象的点在于 非常非常具体 的一个个体 类是对事物类别的一种描述,对象则为具体存在的某一个事物 对象属于某个类,一个类可以有多个具体的对象 Java中,类是对象的数据类型 eg: int a =1 人 moumou =张三 Student s = new Student(); 万物皆对象 面向对象 面向对象是一种思想,一种解决问题的思路,源于生活 面向过程 :只关注解决问题的过程,而不关注多个解决方法之间的关系等 面向过程:关注的是解决问题的具体思路,相当于基层员工 做法: 求和 1. 获取两个数 2. 把两个数相加 ..... n. 拿到计算结果 面向对象

变量的存储类别

蹲街弑〆低调 提交于 2020-02-25 20:22:58
一、在运行程序的时候,操作系统会将虚拟内存进行分区。 1).堆 在动态申请内存的时候,在堆里开辟内存。 2).栈 主要存放局部变量。 3).静态全局区 1:未初始化的静态全局区 静态变量(定义变量的时候,前面加static 修饰),或全局变量,没有初始化的,存在此区 2:初始化的静态全局区 全局变量、静态变量,赋过初值的,存放在此区 4).代码区 存放咱们的程序代码 5).文字常量区 存放常量的。 普通的全局变量 概念: 在函数外部定义的变量 int num=100;//num 就是一个全局变量 int main() { return 0; } 作用范围: 全局变量的作用范围,是 程序的所有地方。 只不过用之前需要声明。声明方法 extern int num; 注意声明的时候,不要赋值。 生命周期: 程序运行的整个过程,一直存在,直到程序结束。 注意:定义普通的全局变量的时候,如果不赋初值, 它的值默认为0 静态全局变量static 概念: 定义全局变量的时候,前面用static 修饰。 static int num=100;//num 就是一个静态全局变量 int main() { return 0; } 作用范围: static 限定了静态全局变量的,作用范围 只能在它定义的.c(源文件)中有效 生命周期: 在程序的整个运行过程中,一直存在。 注意:定义静态全局变量的时候