变量和数据类型

变量概述

变量: 它是在程序中最为基本的一种单一数据的存储方式。顾名思义它代表的就是存储的数据可以改变 (可以改变的量、值)。

变量的组成

变量的数据类型 变量名 = 变量值;

数据类型

数值类型:

  • 整数类型:1 、2 、3 、0 、-1 ...
    • byte:1字节,-128 ~ 127
    • short:2字节,...
    • int :4字节,... 在 Java 中定义一个整数,默认的数据类型就是 int
    • long:8字节,...
  • 浮点类型:3.14 、1.9 、0.01 ...
    • float:4字节,...
    • double :8字节,... 在 Java 中定义一个整数,默认的数据类型就是 double

非数值类型: 

  • 布尔类型:
    • boolean :true(真)、false(假)
  • 字符类型:
    • char, 'a' '1' '男' .... 使用单引号引起来的 1 个字符
  • 字符串类型(字符串类型):(注: 这是一个特殊的类型,和其他类型不同!后期会介绍,先了 解,先会用)
    •                         String, "abc" 、 "小孙" "男" .... 使用双引号引起来的字符​​​

 

 变量名(程序员最头疼的问题之一)

代码不仅仅是给机器看的,更应该是给人看的。 

Java 中变量命名的规范:  

1.(语法要求)可以使用数字、字母、下划线( _ )、美元符号( $ )组成,其中数字不能开头
2. (语法要求)不能使用关键字和保留字
例如:public、class、static、void、byte ...
  • 关键字/词:在语言中已经被赋予了特殊含义的单词
  • 保留字/词:在语言中目前还没被赋予特殊含义,但未来极大可能有特殊含义的单词  
3. (规范要求)见名知义
  • 正例:存储姓名:name、存储年龄:age、存储地址:address
  • 反例:存储姓名:a、存储年龄:b ...
4. (规范要求)不要将拼音和英文混合(拼音和英文、汉字等...)
  • 反例:存储我的姓名:myXingMing
  • 也可以考虑使用拼音,但是不是太推荐。
5. (规范要求)多个单词的变量命名
  • 使用驼峰命名法
           stuname -> stuName  
           驼峰命名法(小驼峰命名法):首字母小写,多个单词的情况下,后面的每个单词首字母大
           写。 例如:stuName
           帕斯卡命名法(大驼峰命名法):每个单词的首字母大写,它适合用于类名。例如:                        HelloWorld
  • 使用蛇形命名法(下划线连接法)
stuname -> stu_name

变量的定义(重点)  

声明变量的同时并赋值
变量数据类型 变量名 = 变量值 ;
// 先声明变量再进行赋值
变量数据类型 变量名 ;
变量名 = 变量值 ;
// ...其他了解,不推荐
// 声明变量并赋值
String name = "小孙" ;
int age = 18 ;
char gender = '女' ;
double money = 0.01 ;
boolean isMarry = true ;
System . out . println ( name );
System . out . println ( age );
// 声明变量再赋值
String address ;
address = "北礼士路100号" ;
// 改变变量的值:对变量再次赋值
name = "小李" ;
age = 10 ;
// 变量的使用:通过变量名来使用
// 字符串之间通过 + 号进行拼接
System . out . println ( "我的名字: " + name );
// 与字符串使用 + 号拼接的任何内容最终都变为了字符串
System . out . println ( "我的年龄:" + age + "岁" );
System . out . println ( "我的性别:" + gender );
System . out . println ( money );
System . out . println ( isMarry );
System . out . println ( address );

 人机交互(键盘录入,输入语句)

Scanner:扫描器,实现在控制台上的输入功能。

  1.  导入

                  import java.util.Scanner;(在类声明的上方导入)

      2.创建对象(创建实例)

                 Scanner input = new Scanner(System.in);

      3.使用(使用Scanner提供的方法)

  •                   输入整数:nextInt()
  •                    输入浮点数:nextDouble()
  •                    输入字符串:next()
  •                     ...

 常量

在定义变量时,如果有一些数据不需要被二次更改,可以定义为常量。
final:最终的
final 常量数据类型 常量名 = 常量值 ;
常量的命名规范:为了区分变量和常量,常量名要求所有字母都大写,多个单词的情况下使用下划线连接。
例如:MY_NAME

常见的运算符

赋值运算符

// 将 张三 赋值给了 name 变量
String name = "张三" ;  
name = "李四" ;  

注意:在 Java 语言中, = 不再是数学中相等的概念而是赋值的概念。

算术运算符

  • +
  • -
  • *
  • /
  • % 取模,前期先理解为取余数
  • ++ 自增1,可以理解为先做自增再做赋值
  • 自减1
int num1 = 2 ;
// num1 = num1 + 1  
num1 ++ ;

        【 前自增和自减或后自增和自减的区别

      在使用变量时,进行了自增或自减:  
      ++或--在前,它就先进行自增或自减再使用变量。
      ++或--在后,它就先使用变量原来的值然后再自增或自减。
int num1 = 5;
System.out.println(num1); // 5
num1 ++;
System.out.println(num1 ++); // 6  输出完后,num1 = 7;


int num2 = 5;
++ num2;
System.out.println(num2); // 6
System.out.println(++ num2); // 7
System.out.println(num2); // 7

         特殊的 char

ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码。
需要记住的两个标准是:
a :97
A :65
char alpha = 'a';
// 先将alpha转换为数值进行计算,然后再赋值给char类型的变量,98对应的是字符b
// alpha = alpha + 1 -> alpha = 97 + 1 -> alpha = 98
// alpha ++;
// System.out.println(alpha); // b


// 当char类型要进行算术计算,会先转换为相应的ASCII码表数值,然后再计算
// 97 + 1 System.out.println(alpha + 1); // 98

复合赋值运算符

  • +=
  • -=
  • *=
  • /=
  • %=
int num1 = 10 ;
// num1 = num1 + 2
num1 += 2 ;
System . out . println ( num1 ); // 12

先将符号两侧的值进行相应的算术运算,计算之后再将结果赋值给变量。   

关系运算符(比较运算符)

  • >
  • >=
  • <
  • <=
  • == 相等
  • != 不相等

 关系运算符的计算结果是一个 boolean 值,只有 true 或 false。

逻辑运算符 

  • && 与,理解为 并且 ,所有参与逻辑运算的条件都为真,结果才为真(只要有一个为假,结果为假)                                         ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​按住 shift + 7,单个 & 符号 
  • || 或,理解为 或者,所有参与逻辑运算的条件,只要有一个为真,结果为真                                    按住 shift + \,单个 | 符号
  • ! 非,理解为 取反,真会变为假,假会变为真
// 5 <= a <= 10 
int num = 6;
// boolean result = 5 <= num <= 10; 
boolean result = (num >= 5 && num <= 10); 
System.out.println(result);

 有了逻辑运算符,就可以用来去做更为复杂的关系运算。

三元运算符

三元运算符/三目运算符。
三元运算符由三元素(三个部分)组成。
// 条件表达式成立(true)执行表达式1,不成立(false)执行表达式2
条件表达式 ? 表达式1 : 表达式2 ;  
它的结果是由表达式决定的。例如:表达式1和表达式2是字符串,结果就是字符串类型;如果是int,结果就是int类型。
表达式1和表达式2它两个必须是相同数据类型的。
double bmi = 22; 
String result = bmi > 25 ? "您已经超重" : "您没有超重"; 
System.out.println(result);

数据类型转换

自动类型转换: 在数值类型中,取值范围小的数据类型可以 自动 类型转换为取值范围大的数据类型。
强制类型转换: 在数值类型中,取值范围大的数据类型,如果要转换为取值范围小的数据类型,需要做强制类型转换。强制类型转换的时候会损失数据的精度。
// 自动类型转换
// 1:int a = 10;
// 2:double num = a; 
double num = 10; 
System.out.println(num); // 10.0

// 强制类型转换 
int num2 = (int) 10.5; 
System.out.println(num2); // 10 (取整,砍掉小数位)

// 自动类型转换
int num3 = 'a'; 
System.out.println(num3); // 97

int num4 = 99; 
char alpha = (char) num4; 
System.out.println(alpha); // c

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值