Java变量

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念.

简单理解,变量就是存放数据的(可以改变的量). 

  • 定义一个变量的语法
  • 变量类型 变量名;
  • 给变量设置值
  • 变量名 = 值;
  • 这里的 等于号(=) 代表赋值的意思. 并不像数学中的那样代表等于,要实现等于则需要使用两个等于号(==)
  • 我们也可以在定义变量的时候赋值 例如
  • int a = 1;
  • int是Java的基础类型,下面会讲到,a是变量名,值为1(我们定义了一个变量a,它的值为1)
  • 变量名
  • 变量名为上面定义的变量名,在Java中大小写是很严格的(必须一模一样,否则出错)
  • 我们通常变量名采用 驼峰式命名(就是第一个单词小写,后面的每个单词首字母大写,像驼峰一样)
  • 变量名不应以数字开头,能不出现数字和符号最好不要出现,尽量全英文.(如果你要以中文命名也是没有问题的,但是不规范)
  • 例如myNicknameIsShendi,test,helloWorld 这些都是有效 规范的名称
  • testa,helloworld,goodb,这些都是有效,不规范命名
  • 1a,a?,c[,这些都是无效 不规范命名
  • 变量可以放在哪?
  • 可以放在 类里面,方法里面.
  • 注意:在一个作用域内不能出现相同变量名
  • 也就是在一个类里面不能有两个相同的变量名,方法里也是
  • 可以在类里定义一个变量a,这个类的方法里也定义一个变量a,我们输出a变量 看看会是什么结果?
  • 尝试着运行以下代码(类名与文件名得一致,我这里是Test.java文件,类为Test)
public class Test {
    int a = 1;
    public static void main(String[] args) {
        int a = 10;
        //这里输出的结果会是什么?
        System.out.println(a);
    }
}

上述代码的结果为 10,为什么不是1?

  • 因为 a 为 1 的变量在类外面(称为全局变量), a为10的变量在方法里(局部变量),取值当然是从近的拿了(局部).
  • 全局变量(也称对象属性,成员变量,类变量)
  • 在类里定义的变量是全局变量(此类任何方法都可以访问),甚至别的类都可以直接获取(只要是public static修饰的)
  • 局部变量
  • 在方法里定义的变量全是局部变量(执行完方法变量就会被清理,并且只有本方法可以使用)
  • 总结:
  • 变量是计算机语言中能储存计算结果或能表示值抽象概念(用来存数据的)
  • 定义变量的格式为: 类型 变量名; 变量定义在类里叫类变量(全局变量),在方法里是局部变量(只能在方法内被使用)
  • 注: 被class修饰的叫做类,类与方法不同点在于 类后面是 {} 方法后面是 () {},并且方法和变量必须在类的里面
  • 例如 类 public class Hello {}
  • 方法 public void hello() {}

在Java中(基本上所有编程语言都是一致的)有八大基础数据类型

整形(整数类型)

  • byte(字节) 8位 长度-128~127
  • byte用于表示程序中最小数据单位,通常不会用作数字等(用于文件,数据处理比较多)
  • short(短整型) 16位 长度 -32768 ~ 32767(几乎不怎么用)
  • int(整形) 32位 长度 -2^31 (-2,147,483,648) 到 2^31-1(2,147,483,647) 整形用的最多的就是这个类型
  • 我们在Java中 直接写的数字默认 都是这个类型
  • 例如 System.out.print(111); 这里的111是int类型的 所以这个数字不能超过int最长的长度(不然编译会报错)
  • long(长整型) 64位 -2^63 (-9,223,372,036,854,775,808‬) 到 2^63-1(9,223,372,036,854,775,8087)
  • 默认我们在代码里写的数字都是int类型,但是long类型比int更大,所以我们需要在 数字后面加上一个大写的 L来表示当前数字为long类型.
  • 例如 System.out.print(33147483647L);//不加 L 编译会出错

浮点型(小数类型)

  • float(单精度浮点型) 32位 通常在数字后加上 F 表示
  • doulbe(双精度浮点型) 64位

字符型

  • char(字符) 占两字节 16位
  • 使用 ' 来表示字符(不是字符串 只能表示单个字符) 英文 键盘的Enter键左边
  • 例如 char c = 'a';

布尔型

  • boolean(布尔) 此类型只有两个值 true 和 false
  • true 代表真(是),flase代表假(不是)

还有我们之前用到的字符串不是基础类型中的,它是引用类型,类为 String

定义一个字符串 String str = "我是字符串";

对于字符串,后面会专门说到,目前只用了解

练习巩固

在之前的目录新建一个文件夹作为本次练习使用,文件夹名自行定义

新建一个Java文件 我这里命名为Test(测试的意思)

java定义成员变量赋值 java定义变量并赋值_java定义成员变量赋值

用记事本打开后把一些固定代码写好.

java定义成员变量赋值 java定义变量并赋值_变量名_02

接下来我们将使用之前学的 Scanner 配合变量来进行(加减乘除运算)

(跟着走一遍后 要自己改变一下想法自己重新整一个,这样才是真的学会了)

流程: 创建Scanner来接收两次输入(都是数字),用变量存起来,进行相加,并输出

//导入Scanner包
import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		//创建Scanner 传递System.in参数来接收用户输入的参数
		Scanner s = new Scanner(System.in);
		//提醒输入 \n的意思是换行的意思(可以不加\n自己看一下输出结果 是没有换行的)
		System.out.print("请输入两个数字,我会将这两个数字进行+ - * /运算\n");
		//接收两个数 一个int类型 一个double
		int addOne = s.nextInt();
		double addTwo = s.nextDouble();
		//输出结果 +代表加法操作 或者连接文字等 - * /都代表对应操作(减法,乘法,除法)
		System.out.print("相加等于:" + (addOne+addTwo));
		System.out.print("addOne减addTwo等于:" + (addOne-addTwo));
		System.out.print("相乘等于:" + (addOne*addTwo));
		System.out.print("相除等于:" + (addOne/addTwo));
	}
}

编译,运行 试一下结果

java定义成员变量赋值 java定义变量并赋值_java定义成员变量赋值_03

结果都是小数(小数类型与其他数进行操作,最后的结果都是小数)

注意: 这里使用的是Scanner的接收整形的方法,(不能出现非数字,不然出错)

三分学,七分练,只有自己写一写才知道自己学会没,基础要打好.

下一节我们做一点能有成就感的东西.