前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一、变量的作用域

一、变量的作用域

作者头像
CN_Simo
发布2022-05-10 13:33:45
6230
发布2022-05-10 13:33:45
举报
文章被收录于专栏:Script Boy (CN-SIMO)Script Boy (CN-SIMO)

一、变量的作用域

  • 测试代码:
代码语言:javascript
复制
public class Test1 {
	private static int value = 1;       // 全局变量
	private static int temp = 0;        // 全局变量
	
	public static void main(String[] args) {
		int value = 2;                     // 局域变量覆盖全局变量
		System.out.println(value);        // 输出的是局域变量,全局变量被屏蔽
		System.out.println(temp);        // 输出的是全局变量,没有在此方法内重新定义故而输出全局变量的值
	}
}
  • 结果截图

二、基本数据类型

  • 整型

通常所说的整型,实际指的是如下四种类型: byte:一个byte型整数在内存里占8位,表数范围是:-128到127. short:一个short型整数在内存里占16位,表数范围是:-32768到32767. int:一个int型整数在内存里占32位,表数范围是:-2147483648到2147483647. long:一个long型整数在内存里占64位,表数范围是:-9223372036854775808到9223372036854775807.

int是最常用的数据类型,因此通常情况下,一个java整数常量默认就是int类型。 除此之外,有如下两种情形必须指出:

1.如果直接将一个较小的整数常量(在byte或short类型的表数范围内)赋给一个byte或short变量,系统会自动把这个整数常量当成byte或者short类型来处理。 2.如果使用一个巨大的整数常量(超出了int类型的表数范围)时,Java不会自动把这个整数常量当成long类型来处理。如果希望系统把一个整数常量当成long类型来处理,应在这个整数常量后增加l或者L作为后缀。通常推荐使用L,因为l很容易跟1搞混。

三、Java中的类型转换

(注:鄙人认为虚线箭头方向应该反向吧,觉得不是的请积极反驳哦!)

有两种类型转换:自动类型转换和强制类型转换 1.自动类型转换 当把一个表数范围小的数值或变量直接赋给另一个表数范围大的变量时,系统将可以进行自动类型转换,就如有两瓶水,当把小瓶里水倒入大瓶中时不会有任何问题。上图中,实线箭头左边的数值型可以自动转换为实线箭头右边的数值型。 不仅如此,当把任何基本类型的值和字符串值进行连接运算时,基本类型的值将自动转换为字符串类型,即使字符串类型不再是基本类型,而是引用类型。因此,如果希望把基本类型的值转换为对应的字符串,可以把基本类型的值和一个空字符串进行连接。 2.强制类型转换 如果希望把箭头右边的类型转换为左边的类型,则必须使用强制类型转换,强制类型转换的格式是:(target Type)value,强制类型转换的运算符是圆括号。当强制类型转换时,类似于把大瓶子里的水倒进小瓶子里,如果大瓶子里的水不多还好,但如果大瓶子里的水很多,将会引起溢出,从而造成数据丢失。这种转换也被称为“缩小转换(Narrow Conversion)”。 所以说自动类型转换很安全,强制类型转换要小心。

四、字符串连接基本类型

  • 有如下代码:
代码语言:javascript
复制
        int x = 100;
        int y = 200;
        System.out.println("x+y="+x+y);
        System.out.println(x+y+"=x+y");
  • 结果:
  • 原因: “x+y=”+x+y 相当于 (“x+y=”+x)+y 先字符串与基本类型连接,转化为对应的字符型后再与基本类型变量连接,最后输出字符串。 x+y+“=x+y” 相当于 (x+y)+“=x+y” 先两个基本类型做加法运算,之后得出的结果与字符串连接都转换成字符串后输出。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、变量的作用域
  • 二、基本数据类型
  • 三、Java中的类型转换
  • 四、字符串连接基本类型
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档