函数变量的作用域和java语言有什么不同_Java变量, 常量和作用域

变量

变量就是可以变化的量

Java是一种强类型的语言, 每个变量都必须声明其类型

Java变量是程序中最基本的存储单元, 其要素包括变量名, 变量类型和作用域.

type varName [=value] [{,varName[=value]}];

// 数据类型 变量名 = 值; 可以使用逗号来隔开声明多个同类型变量.

注意事项

每个变量都有类型, 类型可以是基本类型, 也可以是引用类型.

变量名必须是合法的标识符.

变量声明是一条完整的语句, 因此每一个声明必须以分号结束.

作用域

类变量

实例变量

局部变量

public class Variable{

static int allClicks=0;//类变量

String str="hello world"; //实例变量

public void method(){

int i =0; //局部变量

}

}

局部变量

局部变量是写在方法中的变量, 有效期是介于方法的开始和方法的结束之间即{}之间. 因此当前方法的局部变量不能在其他方法中使用.

局部变量使用之前必须声明和初始化值.

public class Demo08{

// 属性: 变量

//main方法

public static void main(String [] args){

//局部变量必须声明和初始化值

int i = 10;

//如果上一行i没有初始化 int i; 那么下一行会报错.

System.out.println(i);

}

}

实例变量

public class Demo08{

// 属性: 变量

//实例变量: 从属于对象; 如果不自行初始化, 为这个类型的默认值.

/*所有的数值类型初始化一般都为0或0.0,

字符串类型初始化为16位的u0000

布尔值默认为false

除了基本类型, 其余的默认值都是null

*/

String name;

int age;

//main方法

public static void main(String [] args){

Demo08 demo08 = new Demo08();

System.out.println(demo08.age); //输出为 0

System.out.println(demo08.name;//输出为 null

}

}

类变量

public class Demo08{

// 属性: 变量

//类变量 static 从属于类的变量, 在该类中可以直接调用.

static double salary = 2500;

//main方法

public static void main(String [] args){

System.out.println(salary);

}

}

常量

初始化后不能在改变值! 不会变动的值.

常量可以理解为一种特殊的变量, 他的值被设定后, 在程序运行过程中不允许被改变.

// 定义方法

// final 常量名 = 值;

final double PI = 3.14;

常量名一般使用大写字母

public class Demo09{

//修饰符, 不区分先后顺序 static final位置可替换

static final double PI = 3.14;

public void static main(String[] args){

System.out.println(PI);

}

}

命名规范

所有变量, 方法, 类名L: 见名知意

类成员变量: 手写字母小写和驼峰原则: monthSalary 除了第一个单词以外, 后面的单词首字母大写

局部变量: 首字母小写和驼峰原则

常量: 大写字母和下划线: MAX_VALUE

类名: 首字母大写和驼峰原则: GoodMan

方法名: 首字母小写和驼峰原则


http://www.niftyadmin.cn/n/873073.html

相关文章

分布式锁:二、Redis锁

对于分布式锁的实现,除了redis锁之外,还有很多,像zookeeper,memcache,数据库,chubby等。redis锁因为使用简单,所以被大家广泛使用。本篇文章主要从以下几个方面来讲解redis锁:1.redi…

多态java参数有返回值_关于Java多态的总结.

[圣思源笔记]JAVA SE Lesson 11. 类是一种抽象的概念,对象是类的一种具体表示形式,是具体的概念。先有类,然后由类来生成对象(Object)。对象又叫做实例(Instance)。2. 类由两大部分构成:属性以及方法。属性一般用名词来表示&#…

公众号内容收集

公众号写了也有一年了,因为没有评论功能,只能点赞和赞赏,不能与大家互动,只能定期发起投票给大家,收集下大家的反馈~还请大家积极投票~公众号的几类文章目录:1. Go语言专题2. 结构相…

java lombok.getter_java lombok包在maven已经配置,但是getter setter不行

我这里写了Getter、Setter但是在创建User实例时,不能调用setName和getName,为什么Lombok 其原理就是在编译时自动生成代码。楼主配置了Maven。你通过mvn compile编译代码可以查看一下User.class中是否有生成get/set函数。如果楼主期望在idea中编码时编译…

一篇文章讲清楚乐观锁与悲观锁

一、概念介绍: 乐观锁(Optimistic Concurrency Control,缩写“OCC”),又叫做乐观并发控制,可以参考维基百科-乐观并发控制: (https://zh.wikipedia.org/wiki/%E4%B9%90%E8%A7%82%E5%B9%B6%E5…

算法篇:位运算异或的使用(一)

算法:在位运算中,运用最多的便是异或操作^,规则如下所示:1.a^a 0 ,a^0 a, 2.a^b^a a^a^b 0^b b 备注:下面的两个题目是单纯使用异或操作的题目,一种是最基本的异或操作, 一种是稍…

算法篇:位运算基本操作

算法:本章介绍位操作的基本操作,具体操作见下面的几类具体题目:异或操作,与操作,或操作和偏移操作题目1: 计算位1的个数https://leetcode-cn.com/problems/number-of-1-bits/代码实现:func hammingWeight(num uint32) …

算法篇:位运算进阶(二)

算法转换成前面算法篇:位运算异或的使用(一)中,两位相同的数异或为0,转换成3位数的"异或"操作位0,也就是说我们需要实现同一个bit位的3个1,操作为0就可以,将问题转换为对如何实现同一bit位的三个…