title: [Java] 变量与表达式

你已经学会输出 Hello world 了, 那么现在, 我们来学习关于变量的知识

基本数据类型

在 Java 中, 有 8 种基本的数据类型:

名称 描述
byte 即字节, 是计算机中最小的存储单位, 平常说的兆, 其实指的就是兆字节, 内存占用大小也当然是1byte
short 即短整型, 一个比较小的, 用于存储整数的类型, 内存占用 2byte
int 全称是integer, 即整数, 有时也称int32, 因为它占用 4byte, 即32bit
long 即长整型, 存储比较大的整数, 占用的空间是int的两倍, 8byte
float 即浮点数, 用来存储小数, 占用空间大小是4byte
double 即双精度浮点数, 也用来存储小数, 精度是float的两倍, 占用空间大小是float的两倍, 8byte
boolean 即布尔类型, 它的值只有两种情况, 真(true) 或 假(false), 占用空间大小是1byte
char 字符类型, 用来存储单个字符, 因为Java中字符类型存储Unicode字符, 所以它占用2byte的空间

还有一种常用类型, 是 String, 即字符串.

定义变量

定义变量, 语法很简单, 只需要指定类型与名称即可:

类型 名称;
// 示例 :
int num;

如果需要在定义变量的时候就为它赋值, 则可以使用下面的语法:

类型 名称 = 初始值;
// 示例 :
int num = 114514;

使用数据

在程序中, 我们要使用的数据无非是变量和常量两种, 因为变量的值可以被更改, 所以它的名字才是 '变'量. 而不能够被更改的, 就是常量. 两者的用法是一样的.

System.out.println("Hello world");
// 在这个示例中, 我们输出了一个 "Hello world", 这个值显然是无法因程序的语句而变更的, 所以称之为常量
int num = 114514;
System.out.println(num);
// 在这个示例中, 我们定义了一个类型为整数的变量, 并为其赋值 114514, 一般的我们不会这样直接将一个定义的变量直接输出, 而是根据一些运算, 得出一些数据, 然后再输出, 这些数据是可变的, 不是固定的, 即, 变量
int num = 114000;
num = num + 514;
System.out.println(num);
// 这个示例中, 最终输出的是 114514, 而这个值是经过运算得来的, num 发生了变化, 即, 变量.

你可以直接用 println 输出一个 Hello world, 也可以先定义一个字符串, 赋值为 Hello world, 然后输出这个变量, 两者的执行效果是没有区别的, 也就是刚刚说的, 两者用法是一样的.

运算符

Java 里面有一些运算符, 例如加减乘除啥的, 这是算术运算符, 它们的作用也简单, 正如其名. 不同的数据类型, 对于同一运算符, 执行效果是不同的, 例如, 两个整数相加, 结果就是这两个数字相加的结果. 但如果是两个字符串相加, 那么结果就是这两个字符串拼接的结果.

1 + 1, "Hello world!" + " - The first program by Null", 3 + 0.14

运算符有优先级之说, 例如数学中的先算乘除, 后算加减, 这就是运算符的优先级. 同时, 括号的优先级是很高的, 优于乘除

而事实上, 也有其它的运算符, 例如括号本质上也是运算符, 不过这个我们以后会学到, 这里暂且不作说明.

表达式

数据通过运算符相连, 就是表达式. 例如 1+1, "test"+" program", 1+2+3. 表达式有返回值, 即, 表达式的运算结果, 例如几个字符串用加号相连, 最终的返回值就是这几个字符串连接起来的结果.

易错点:

有些同学会犯一些愚蠢的错误. 它们可能会这么写:

int a = 114514;
System.out.println("a 的值是:" a);

看出哪里错了吗? 上述代码中, 一个字符串和一个整数并列, 却没有使用任何运算符相连! 这是错误的! 完完全全的错误!

如果你想打印 "a 的值是", 后跟变量a的值, 请使用加号把它们连接起来! 因为这样, 它们才能进行运算, 最终得到一个值, 然后打印到控制台.

[Java] 数据类型, 变量, 运算符, 表达式的更多相关文章

  1. 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句

    [源码下载] 速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句 作者:webabcd 介绍速战速决 之 PHP 概述 常量 变量 运算符 表达式 控制语句 示例1. ...

  2. JAVA数据类型,变量,转换,常量,运算符

    java数据类型: Java基本类型共有八种,基本类型可以分为三类: 1.字符类型char,用单引号赋值 2.布尔类型boolean 3.数值类型byte.short.int.long.float.d ...

  3. Java 数据类型 & 变量与常量 & 注释

    一.数据类型 1.数据类型分类 Java 的数据类型分为两大类: 基本数据类型:整数.浮点数.字符型.布尔型 引用数据类型(对象类型):类.数组,字符串.接口等. 2.基本数据类型 四类八种基本数据类 ...

  4. Java 数据类型与运算符

    JAVA数据类型分基本(内置)数据类型和引用数据类型. 区别: 基本数据类型在被创建时,在栈上给其划分一块内存,将数值直接存储在栈上. 引用数据类型在被创建时,首先要在栈上给其引用(句柄)分配一块内存 ...

  5. Java数据类型与运算符

    Java 基本数据类型 Java 的两大数据类型: 内置数据类型 引用数据类型 内置数据类型 Java语言提供了八种基本类型.六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型. b ...

  6. Swift 基本数据类型与运算符表达式

    // // main.swift // LessonSwift01 // // Created by lanouhn on 16/1/25. // Copyright © 2016年 齐彦坤. All ...

  7. smarty模板 变量 运算符 表达式 流程控制 函数

    ① 从配置文件中读取配置: 1,在模板页面加载配置文件 html页面 不是php页面<{config_load file='fo.conf'}> 2,在需要用到配置的地方加<{#si ...

  8. 2016/04/29 smarty模板 1, 初步 目标 : 变量 运算符 表达式 流程控制 函数

    ① 从配置文件中读取配置: 1,在模板页面加载配置文件 html页面 不是php页面 <{config_load file='fo.conf'}> 2,在需要用到配置的地方加 <{# ...

  9. Java ——关键字 数据类型 变量 常量

    本节重点思维导图 Java程序结构 public class 类名 { public static void main(String[] args){ //……语句 } } 一门语言是由以下各种元素组 ...

随机推荐

  1. Kafka集群消息积压问题及处理策略

    通常情况下,企业中会采取轮询或者随机的方式,通过Kafka的producer向Kafka集群生产数据,来尽可能保证Kafka分区之间的数据是均匀分布的. 在分区数据均匀分布的前提下,如果我们针对要处理 ...

  2. ReactElement源码笔记

    ReactElement 源码笔记 ReactElement通过 createElement创建,调用该方法需要 传入三个参数: type config children type指代这个ReactE ...

  3. HDOJ-3416(最大流+最短路+ISAP算法+向前星dijikstra算法+如何判断一条边是否在最短路中)

    Marriage Match IV HDOJ-3416 这题的题意就是要找两点之间最短路的路径个数,而且边不能重复. 最大流和最短路的结合.首先正向和反向建图,再跑两遍dijikstra.到这里就求出 ...

  4. 【老孟Flutter】Flutter 2.0 重磅更新

    老孟导读:昨天期待已久的 Flutter 2.0 终于发布了,Web 端终于提正了,春季期间我发布的一篇文章,其中的一个预测就是 Web 正式发布,已经实现了,还有一个预测是:2021年将是 Flut ...

  5. JAVA_标识符、数据类型、变量

    标识符和关键字 ​ 所有的标识符否应该以字母a ~ z和 A ~Z ,美元符($).下划线(_)开始. ​ 首字符之后可以是字母a ~ z和 A ~Z ,美元符($).下划线(_)的任意字符组合. 注 ...

  6. CRLF注入

    CRLF注入 Title: [CVE-2019-9740] Python urllib CRLF injection vulnerability Category: security Stage: r ...

  7. Flutter资源

    目录 文章 一开始 HOWTO文档 网站/博客 高级 视频 组件 演示 UI 材料设计 图片 地图 图表 导航 验证 文字和富文本 分析.流量统计 自动构建 风格样式 媒体 音频 视频 语音 存储 获 ...

  8. for-in 语句

    for-in 语句循环专门用于遍历范围,列表,元素和字典等可迭代对象. 循环中的变量的值受for-in循环控制,该变量将会在每次循环开始时自动被赋值,因此程序不应该在循环中对该变量进行赋值 for-i ...

  9. 使用 dynamic 类型让 ASP.NET Core 实现 HATEOAS 结构的 RESTful API

    上一篇写的是使用静态基类方法的实现步骤:  http://www.cnblogs.com/cgzl/p/8726805.html 使用dynamic (ExpandoObject)的好处就是可以动态组 ...

  10. APP | edxposed框架+trustmealredy模块抓包小程序

    出品|MS08067实验室(www.ms08067.com) 本文作者:ketchup(Ms08067实验室 SRSP TEAM小组成员) 一.下载edxposed框架,由于安卓5.0版本以下的不支持 ...