java中全局变量和局部变量的区别-java中属性必须是简单变量
Hello大家好,我是Jerry
上周我们介绍了组成java程序主要构成部分:类,方法和变量
在实际生活中,简单的逻辑方法和单一的变量无法解决复杂的问题,week3开始学习一些嵌套(nested)的if判断语句,以及全局和局域变量的区别,将他们运用在assignment1中。
今天举例的是People类,人类有身高/名字/性别/国籍等属性
局部变量(local variable)/全局变量(global variable)/静态变量(static variable)
局部变量:定义在方法中的变量都是局部变量,方法被调用时,‘param’和‘gender’就会被创建,电脑分配内存给他们,方法结束释放内存。这两个变量(局部变量)在使用之前必须进行初始化,不然会出现编译错误,局部变量没有访问修饰符。
全局变量:定义在类中的变量,属于类的变量也可以说是对象的变量,随着对象的变化而变化,全局变量是不需要初始化的,系统会根据其数据类型赋予默认值(constructor的作用)。
静态变量:static修饰的变量实际上也是全局变量,某个数据被所有的对象共享,那该内容就应该用静态修饰,例如例子中的国家,我们都是在Australia,因为静态变量是在类加载中产生的,所以静态变量可以被对象使用,也可以通过类名字被使用,如果实在不能理解java中全局变量和局部变量的区别,assignment中也可以不用。
懒人必备summary:
Assignment考点:
1、变量名底下出现红线,可能是你在使用前没有初始化这个变量。
Java的循环结构(for/while/do…while)
While循环:
皇家翻译:当满足。。。的条件时(while小括号里写判断),做这些事(while大括号中写)
do while循环:
皇家翻译:做。。。@#¥,当满足要求时,继续做。。。@#¥
for循环
皇家翻译:for循环通常用来控制循环次数,当小于/大于多少时java中全局变量和局部变量的区别,循环执行大括号中的方法。
(i++和++1不清楚的小伙伴可以给公众号发送week2复习上周的内容)
Java的判断结构
无人驾驶,人脸识别等技术的成功在于计算机程序精确的逻辑判断,在assignment中也需要我们能写出复杂的判断逻辑,此时就需要java的分支结构。
If语句:包含判断条件和执行体,执行部分具有多样性,可以是简单的赋值,一个复杂的算法,或者是下一个逻辑判断等。
if… else if… else语句:多重的else if判断复杂的情况, if后面可以有多个else if,都必须在else之前,只要else if中的判断是true时,就会跳过其他的else if判断和else判断,执行最后一步。
嵌套的if语句(nested if):用来筛选多个不同的变量,例如例子中的age和gender
switch分支结构:判断小括号中的变量和一系列值是否相等,每个值称为一个分支。
Java中的string类
在声明变量时我们可能会注意到字符串类型的s大写为String, 和int, float,byte等形成鲜明的对比,实际上java中字符串属于对象,我们每次都是在声明一个string类的对象。
Java在string类中已经写好了一些方便快捷的方法供编程者使用,这里介绍几个常用的方法:
1、查询字符串(名字)的长度
String name;
int length = name.length()
length()方法返回一个整型数字,告诉编程者name的长度时多少
2、两个String变量的比较
String object1;
String object2;
Int n = object1.compareTo(object 2)
Compare方法返回从哪里开始两个object值不同
3、查询一个字符串从左到右第n个字母是什么
char charAt(int n-1)
想要进一步了解String类的方法和类的结构,参照Oracle的说明
java中已经写好的方法给予我们便利时,要注意查找API确认方法的返回值类型,和返回值代表的含义,从而利用得到的结果解决实际问题。
接下来几周我们将持续介绍如何解决assignment中的问题,see you next week!