IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 【JAVA】——字面量与变量 -> 正文阅读

[Java知识库]【JAVA】——字面量与变量

1、字面量:字面量就是数据/数值,编程与生活接轨,而生活中有很多数字,比如你的体重是70kg, 你的身高是172cm,西瓜价格是3元/kg等等,这些就是字面量(数据/数值),一门编程语言首先要能够表示数据才可以处理数据,所以 Java 程序通过字面量来表示数据。

  1. 软件处理的就是数据
  2. 每个数据都有数据类型,不同的数据类型会占有不同的内存
  3. 字面量的数据会在内存中找一个临时的空间储存起来,但此时字面量内存是无法被重复利用的,如果需重复利用,此时需要用到变量
  4. 数据类型
    1. 整数型 ? ? ? ? ?
    2. 浮点型 ? ?
    3. 字符型(文字,单个字符)
    4. 布尔型(真假):true、false
    5. 字符串型(文字,多个字符):String

2、变量:变量就是定义某块内存的字面量,以便后面更好的重复使用

  1. 变量的三要素
    1. 字面量(值)
    2. 数据类型
    3. 变量名
  2. 变量的使用
    1. 声明变量:语法格式:“数据类型 变量名;”
    2. 赋值变量:语法格式:“变量名=值;”
    3. 结合
      1. 数据类型 变量名=值;? ? PS:声明和赋值可以在同一行完成
      2. 数据类型 变量名1=值1,,变量名2=值2,变量名3=值3;? ?PS:Java允许一次声明多个同类型的变量
    4. 注意事项
      1. 需先声明,再赋值
      2. =为赋值运算符,右边优先级高,先执行,将执行结果赋给左边变量
      3. 在同一个大括号当中,不可以声明两个同名的变量
        1. 在同一个大括号当中表示在内存的同一个域当中,在同一块区域上面有两个名字都叫做age的变量,这是不允许的,因为这样程序在运行的时候,java虚拟机也不知道该访问哪个变量了(好比说,你有两个朋友,他们的俩的名字都叫张三,当你们三个人同时在场的时候,你呼张三,其实他俩也不知道你在叫谁呢!)。所以,同一个域中变量名不能重名,但是记住:变量是可以重新赋值的。
      4. 不同的域可以有同名变量
  3. 变量的分类:根据声明位置不同对变量进行分类
    1. 局部变量:在方法体当中声明的变量
      1. PS:局部变量只在方法体当中有效,方法体执行结束该变量的内存就释放了
    2. 成员变量:类体内声明的变量
      1. 使用static关键字修饰:静态成员变量(简称静态变量)
      2. 没有static关键字:为实例成员变量(简称实例变量)
  4. 变量作用域:变量的有效范围
    1. 出了大括号就不认识????????
      1. public class VarTesto7{
        	 public static void main(String[] args){
        		int k=100;
        	 }
        	 public static void m(){
        		System.out.println(k);
        	 }
        }
        上述代码在main方法中定义了一个变量k,其为局部变量,只在main方法中是有效的,因此在m方法中是无法访问局部变量k的
      2. public class VarTesto7{
        	 static int k=100;
        	 public static void main(String[] args){
        		System.out.println("main k="+k);
        	 }
        	 public static void m(){
        		System.out.println(k);
        	 }
        }

        以上代码中的k编码是在类体中定义的,因此main方法和m方法均是可以访问k变量的。但此时只输出了 main 方 法中的 k,并没有输出 m 方法中的 k ,这是因为 m 方法并没有执行,程序的执行是从 main 方法作为入口进来执行的,在 main 方法中并没有手动调用 m 方法,所以 m 方法是不会执行的。

    2. 就近原则:会自动访问离它最近的数据
      1. public class VarTest07{
        	static int k= 100;
        	public static void main(String[] args){
        		int k=300;
        		System.out.println("main k="+k);
        	}
        	public static void m(){
        		System.out.println(k);
        	}
        }

        以上代码定义了两个同名的k变量,因为一个在类体域,一个在方法体域,因此并不会报错,而此时的运行结果是“main k=300”,而不是100,这说明了 Java 程序遵守“就近原则”,也就是说以上程序在 main 方法中访问变量 k 的话,访问的是 局部变量 k,而不是静态变量 k

      2. public class VarTest07{
        	static int k= 100;
        	public static void main(String[] args){
        		int k=300;
        		System.out.println("main k="+k);
        		m();
        	}
        	public static void m(){
        		System.out.println(k);
        	}
        }

        这段代码main 方法调用了m方法,可以看到在 m 方法中访问的是静态变量 k,因为输出结果是 100,而 不是 300。

3、章节习题:通过变量来描述学生的信息,学生信息包括:学号、姓名、性别、身高。其中学 号采用整数,姓名采用字符串,性别采用字符型,身高采用浮点型。具体的学生数据有两份,第一个学生信息是:学号 110,姓名张三,性别男,身高 1.85 米。第二个学生信息是:学号 120,姓名李四,性别女,身高 1.65 米。要求最终将学 生的信息输出到控制台。输出结果如下图所示:

学号:110
姓名:张三
性别:男
身高:1.85
-------------------------------
学号:120
姓名:李四
性别:女
身高:1.65

自己的答案:

public class VarTest07{
	public static void main(String[] args){
		int studynumber;
		double high;
		String name;
		char sex;
		studynumber=110;
		high=1.85;
		name="张三";
		sex='男';
		System.out.println("学号:"+studynumber);
		System.out.println("姓名:"+name);
		System.out.println("性别:"+sex);
		System.out.println("身高:"+high);
		System.out.println("-------------------------------");
		studynumber=120;
		high=1.65;
		name="李四";
		sex='女';
		System.out.println("学号:"+studynumber);
		System.out.println("姓名:"+name);
		System.out.println("性别:"+sex);
		System.out.println("身高:"+high);
	}
}

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-02-04 10:54:21  更:2022-02-04 10:54:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:52:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码