# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符

简介: 本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。

【Java全栈学习笔记-U1-day02】变量+数据类型+运算符

day02目标:
1.掌握数据类型
2.掌握变量
3.运算符
4.掌握Scanner类接收输入数据


引言:
运行程序的过程:
程序-安装硬盘-加载到内存(运行)
硬盘作用:永久存储区、只能以文件方式存储数据
内存作用:暂时存储区

一、变量

1.1 什么是变量

在程序运行过程中==暂时==保存信息的量称为变量
在程序运行过程中==可以改变量的量==称为变量

1.2 使用变量

//1.定义变量
//数据类型  变量名称[=值];
int math;
//2.变量赋值
//变量名称=值;
math=5;
//3.取变量的值
//变量名称
System.out.println("变量名称为math的值是:" + math);
//4.定义变量并初始化
int math2 = 10;
System.out.println(math2);
//5.同时定义多个变量
int temp=1, temp2;

1.3 ==变量名的命名规范==

变量名的组成:变量名是由字母、下划线、$、数字构成,但是不能以数字开头,不能使用关键字。
==实际开发中:变量名应该做到见名知义==

二、数据类型

数据类型的作用:用于区分变量存储不同的数据

2.1 数据的分类

数值类型(整型、非整型)、非数值类型

2.2 java数据类型

==整型:int、short短整型、long 长整型==
==非整型:float单精度、double 双精度==
==非数值:char 字符型(字符需要用单引号引起来,例如:’a’、’1’)==
==String 字符串型(字符串需要用双引号引起来,例如 :”小王”)==
==boolean 布尔型 存储真(true)假(false)值==
==面试题:Java八大基本类型:
byte字节型,short,int,long,float,double,char,boolean==
示例:

//结合数据类型使用变量
public static void main(String[] args) {
   
    //要求:使用变量存一个学生相关的信息:
    //如:学号、姓名、年龄、性别、体重、身高、是否在读 在读为true,体学false
    int ID = 101;  //学号
    String name = "张三";  //姓名
    short age = 18;   //年龄
    char gender = '女';  //性别
    float weight = 50.5f;  //f表示小数为float
    double height = 1.75d;  //写的小数默认为double
    boolean state = true;

    //输出学生信息
    System.out.println("学号是:" + ID);
    System.out.println("姓名是:" + name);
    System.out.println("年龄是:" + age);
    System.out.println("性别是:" + gender);
    System.out.println("身高是:" + height);
    System.out.println("体重是:" + weight);
    System.out.println("是否在读:" + state);
}

三、运算符和表达式

3.1 表达式的构成:

表示式=操作数+运算符

3.2 运算符分类:

a.赋值运算符: =

b.算术运算符:+ - * / %(取余|取模) ++(自加) --(自减)

c.关系运算符:< <= > >= !=(不等于) ==(比较相等)

d.逻辑运算符:||或 &&且 !非

==注意:逻辑运算符是用于连接多个关系表达式==

3.3 表达式:

赋值表达式、算术表达式、关系表达式、逻辑表达式,用什么运算符连接的式子称为什么表达式

3.4 运算符的优先级

() > 算术运算符>关系运算符>逻辑运算符

四、使用Scanner工具类实现用户输入的步骤

import java.util.Scanner;   //导入scanner类

public class Demo5 {
   
    public static void main(String[] args) {
   
        //用户输入的步骤:
        System.out.println("请输入姓名:");
        //1.导入Scanner工具类
        //import java.util.Scanner;或者 import java.util.*;   //导入scanner类
        //2.创建Scanner类的对象
        Scanner input = new Scanner(System.in);
        //3.接收输入数据
        String name = input.next();   //接收输入字符串
        String name = input.nextInt();   //接收输入整数
        System.out.println("你输入的名字是:" + name);
    }
}

扩展: 理解程序与用户的关系
程序与用户的关系

综合示例:
输入圆的半径求面积:

import  java.util.Scanner;

public class Demo4 {
   
    /*算术运算符*/
    public static void main(String[] args) {
   
        Scanner input = new Scanner(System.in);
        //定义一个半径,求圆的面积
        //1.请输入圆的半径
        System.out.println("请输入圆的半径:");
        int r = input.nextInt();  //接收输入整数

        //2.求面积
        double area = 3.14 * r * r;
        //输出
        System.out.println("圆的面积是:" + area);
    }
}

作业

先完成:输入半径求面积

作业一:熟记基本数据型

作业二:模拟实现商超购物打折,为所有用户打八折

请输入用户的购物金额,
效果如下:
请输入购物金额:800
打折后的金额为:640

import java.util.Scanner;

/**
 * @Author: 开心就好9905
 * @Date: 2023/2/12 11:20
 */
public class Discount {
   
    public static void main(String[] args) {
   
        System.out.print("请输入购物金额:");
        Scanner input = new Scanner(System.in);
        double price = input.nextDouble();
        double dis_price = price * 0.8;
        System.out.println("打折后金额为:" + dis_price);
    }
}

作业三.小明左,右手中分别拿两张纸牌:黑桃10和红桃8,现在交换手中的牌。

用程序模拟这一过程:两个整数分别保存在两个变量中,将这两个变量的值互换,并输出互换后的结果。
【提示】互换两个变量的值需要借组第3个变量。前两个变量用来存储两个整数,第3个变量用来作为中间变量,借助这个中间变量,将两个变量的值进行互换。

/**
 * @Author: 开心就好9905
 * @Date: 2023/2/12 11:25
 */
public class Exchange {
   
    public static void main(String[] args) {
   
        String left = "黑桃10";
        String right = "红桃8";
        String tmp;
        System.out.println("交换前左手为"+ left + ",右手为" + right);
        tmp = right;
        right = left;
        left = tmp;
        System.out.println("交换后左手为"+ left + ",右手为" + right);
    }
}

作业四.银行提供了整存整取定期储蓄业务,其存期分为一年、两年、三年、五年,到期凭存单支取本息。年利率如表2-8所示。

存期 年利率/(10%)
一年 2.25
两年 2.7
三年 3.24
五年 3.6

编写一个程序,输入存入的本金数目,计算存期为一年、两年、三年或五年,到期取款时,银行应支付的本息分别是多少。
【提示】利息=本金*年利率*存期,本息=本金+利息

import java.util.Scanner;

/**
 * @Author: 开心就好9905
 * @Date: 2023/2/12 11:33
 */
public class Profit {
   
    public static void main(String[] args) {
   
        double principal;  //本金
        double interest_rate;   //年利率
        double interest;    //利率

        System.out.println("请输入本金数目:");
        Scanner input = new Scanner(System.in);
        principal = input.nextDouble();
        System.out.println("存期一年的本息合计为:" + (principal + (principal * 0.225 * 1)));
        System.out.println("存期两年的本息合计为:" + (principal + (principal * 0.27 * 2)));
        System.out.println("存期三年的本息合计为:" + (principal + (principal * 0.324 * 3)));
        System.out.println("存期五年的本息合计为:" + (principal + (principal * 0.36 * 5)));
    }
}
相关文章
|
13天前
|
前端开发 Java API
2025 年 Java 全栈从环境搭建到项目上线实操全流程指南:Java 全栈最新实操指南(2025 版)
本指南涵盖2025年Java全栈开发核心技术,从JDK 21环境搭建、Spring Boot 3.3实战、React前端集成到Docker容器化部署,结合最新特性与实操流程,助力构建高效企业级应用。
203 1
|
3月前
|
Java API 微服务
2025 年 Java 从入门到精通学习笔记全新版
《Java学习笔记:从入门到精通(2025更新版)》是一本全面覆盖Java开发核心技能的指南,适合零基础到高级开发者。内容包括Java基础(如开发环境配置、核心语法增强)、面向对象编程(密封类、接口增强)、进阶技术(虚拟线程、结构化并发、向量API)、实用类库与框架(HTTP客户端、Spring Boot)、微服务与云原生(容器化、Kubernetes)、响应式编程(Reactor、WebFlux)、函数式编程(Stream API)、测试技术(JUnit 5、Mockito)、数据持久化(JPA、R2DBC)以及实战项目(Todo应用)。
186 7
|
11天前
|
Java 数据库连接 微服务
零基础自学 Java 全栈必备最全学习路线及知识清单方向指引
本文为零基础学习者提供完整的Java全栈学习路线,涵盖Java基础、进阶、框架、项目实战及拓展方向,助你系统掌握全栈开发技能,快速成长为优秀Java工程师。
112 6
|
2月前
|
NoSQL Java 数据库
Java 全栈学习超全面知识图谱构建完整 Java 知识体系
本文全面讲解Java核心技术体系,涵盖基础语法、面向对象、集合框架、主流框架(Spring、Spring Boot、MyBatis)及三大实战项目(微服务电商、响应式博客、企业后台系统),助你系统掌握Java全栈开发技能。
127 1
|
2月前
|
存储 人工智能 JavaScript
Java中的数据类型转换
本文介绍了 Java 中常见的数据类型转换方法,涵盖字符串与整型、长整型、浮点型、布尔型及日期类型的相互转换,并讲解了可能出现的异常和处理方式。
|
4月前
|
数据采集 自然语言处理 Java
Playwright 多语言一体化——Python/Java/.NET 全栈采集实战
本文以反面教材形式,剖析了在使用 Playwright 爬取懂车帝车友圈问答数据时常见的配置错误(如未设置代理、Cookie 和 User-Agent),并提供了 Python、Java 和 .NET 三种语言的修复代码示例。通过错误示例 → 问题剖析 → 修复过程 → 总结教训的完整流程,帮助读者掌握如何正确配置爬虫代理及其它必要参数,避免 IP 封禁和反爬检测,实现高效数据采集与分析。
184 3
Playwright 多语言一体化——Python/Java/.NET 全栈采集实战
|
5月前
|
存储 缓存 Java
理解Java引用数据类型:它们都是对象引用
本文深入探讨了Java中引用数据类型的本质及其相关特性。引用变量存储的是对象的内存地址而非对象本身,类似房子的地址而非房子本身。文章通过实例解析了引用赋值、比较(`==`与`equals()`的区别)以及包装类缓存机制等核心概念。此外,还介绍了Java引用类型的家族,包括类、接口、数组和枚举。理解这些内容有助于开发者避免常见错误,提升对Java内存模型的掌握,为高效编程奠定基础。
213 0
|
2月前
|
安全 算法 Java
Java 多线程:线程安全与同步控制的深度解析
本文介绍了 Java 多线程开发的关键技术,涵盖线程的创建与启动、线程安全问题及其解决方案,包括 synchronized 关键字、原子类和线程间通信机制。通过示例代码讲解了多线程编程中的常见问题与优化方法,帮助开发者提升程序性能与稳定性。
108 0
|
2月前
|
Java API 调度
从阻塞到畅通:Java虚拟线程开启并发新纪元
从阻塞到畅通:Java虚拟线程开启并发新纪元
269 83