[Java教程]5.变量,基础类型

Java教程专栏:https://blog.csdn.net/qq_41806966/category_9929686.html

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(测试的意思)

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

接下来我们将使用之前学的 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));
	}
}

编译,运行 试一下结果

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

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

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

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

关注获取更多干货.

原创文章 55 获赞 64 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41806966/article/details/105795260