《Java从入门到放弃》JavaSE入门篇:变量

变量是什么玩意呢?

变量,顾名思义就是能变化的量 - -

好吧,举个栗子。

图片上的各种餐具,就是变量,因为同一个盘子可以在不同的时间装不同的菜,在这一桌可以装土豆肉丝,在下一桌可以装清炒黄瓜(当然,这个盘子还是要洗洗干净滴)。

那么Java当中的变量有哪些要点呢,其语法是怎么样的呢?

我们来写段代码保存上面的清炒黄瓜吧···

String pan9527 = "清炒黄瓜";

这就是标准的变量的用法,其语法格式:数据类型 变量名 = 值;

三个要点:

1.数据类型

    Java中的数据类型分为两大类:值类型,引用类型。

值类型包括:

        1) 整 型:byte 、short、int、long

        2) 浮点型:float、double

        3) 字符型:char

        4) 布尔型:boolean

引用类型就非常多了,最常用的一个:

        1) 字符串:String

    这些类型的区别之类的就不细讲了,不然就变成放弃篇的了·

为什么要有这么多类型呢?很简单,因为需要啊!!!

    你看上面那张图,我们装饭用饭碗,装菜用盘子,装汤用汤碗或汤锅、装饼用竹碗。是不是也有很多类型的餐具,各位客官可以思考一下,如果非要用装饼的竹碗装汤是什么效果?有条件的可以回家试试,嘿嘿嘿.....

    再举个栗子,比如我们要保存某个员工的信息:

    public static void main(String[] args){
        String name = "李大爷";   //姓名
        int salary = 8600;      //薪水
        char sex = '女';       //性别
        double height = 1.83;     //身高
        boolean isDangYuan = false; //是否党员
    }

不同的信息就使用不同的类型来保存。

2.变量名

    变量名的命名规则:

    1)只能由字母和下划线(_)开头

    2)由字母、数字、下划线(_)和美元符号($)组成

    3)不能是Java关键字和保留字(最简单的区别方式:int或if或for等会变色的单词就不能用作变量名)。

    变量的命名规范:要有意义,比如保存姓名最好使用name,而不要使用n1或xm或其它任何不能见名知义的字符组合。

规则就好比现实中的法律,违反了就完蛋了(在Java中就会出现语法错误,程序无法执行),规范就相当于现实中的道德,违反了不会把你关监狱,最多只会被人打一顿(如果保存姓名的变量非要叫abc,程序一样可以正常运行,但别的程序员看到后会觉得你没有道德)。所以我们一定要做一个遵纪守法并且五讲四美的程序员!!!

3.值

    给变量赋值就要注意是否兼容的问题,比如int类型就不能赋值为"哈哈"。具体赋值的语法,就看上面保存员工信息的那个例子吧。

总结:

字符、浮点、整数都是数值类型。它们之间是可以转换的,只不过他们的取值范围不一样而已。

    public static void main(String[] args){
        char c = '哈';    //最小
        int i = c;        //稍大
        float f = i;      //较大
        double d = f;     //最大
    }

上面这样,把小的值放到大的类型,我们称为自动类型转换。

比如我们把一个容量500cc的奶瓶中的水转移到容量2000cc的碗中是肯定没问题的,但把2000cc碗(装满)中的水装到500cc的奶瓶中,那肯定会溢出。

    public static void main(String[] args){
        double d = 86.5;
        float f = (float)d;
        int i = (int)d;
        char c = (char)i;
    }

所以把大类型的数据放到小的类型中,就必须像这样强制转换(说白了就是把多余的部分扔掉...)。

最后的最后,字符串类型和其它类型的转换。

    public static void main(String[] args){
        String s = "10";
        //字符串类型转数值类型最常用的方式
        int i = Integer.parseInt(s);
        
        //数值型转字符串类型最常用的有种方式
        String s1 = String.valueOf(i);
        String s2 = Integer.toString(i);
        String s3 = "" + i;
    }

今天就介绍这么点内容吧,更加细节的内容,各位看官下载一个java_api_1.x版的帮助手册就能搞定了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏搞前端的李蚊子

Html5模拟通讯录人员排序(sen.js)

// JavaScript Document  var PY_Json_Str = ""; var PY_Str_1 = ""; var PY_Str_...

5906
来自专栏专知

2018年SCI期刊最新影响因子排行,最高244,人工智能TPAMI9.455

2018年6月26日,最新的SCI影响因子正式发布,涵盖1万2千篇期刊。CA-Cancer J Clin 依然拔得头筹,其影响因子今年再创新高,达244.585...

1282
来自专栏码匠的流水账

spring security reactive获取security context

本文主要研究下reactive模式下的spring security context的获取。

1792
来自专栏增长技术

App Guide相关

##TourGuide https://github.com/worker8/TourGuide

702
来自专栏一个会写诗的程序员的博客

java.base.jmod

/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/jmods$ jmod list java....

1112
来自专栏Golang语言社区

Knapsack problem algorithms for my real-life carry-on knapsack

I'm a nomad and live out of one carry-on bag. This means that the total weight o...

1142
来自专栏Petrichor的专栏

Dataset 列表:机器学习研究

In computer vision, face images have been used extensively to develop face recog...

1521
来自专栏一个会写诗的程序员的博客

java.sql.SQLException: connection holder is null

java.sql.SQLException: connection holder is null

1341
来自专栏跟着阿笨一起玩NET

c# 使用timer定时器操作,上次定时到了以后,下次还未执行完怎么处理

------解决方案-------------------------------------------------------- 开始的时候,禁用定时器,你...

2661
来自专栏Ryan Miao

ehcache报错

jfinal2.0+tomcat7+ehcache2.6.11+Linux Linux version 2.6.18-164.el5 (mockbuild@x8...

3729

扫码关注云+社区