Java02 变量

引子

首先我们要知道”计算机三巨头“。

内存

内存(RAM)随机存取器:运行时内存,如果电脑突然断电或者出现其他问题,存储数据会丢失。(计算机运行内存)

内存(ROM)只读存取器:存储内存,电脑上存储的文件。(磁盘内存)(U盘,硬盘…)持久性存储数据。

CPU:中央处理器,调动程序,数据处理,计算。

硬盘:

永久存储数据

速度慢

空间大

2.变量和数据类型

2.1 变量的概念

**环境变量:**存储一些各种程序所需的信息。

变量:可以变动的量,在内存空间中可以用来储存数据开辟的一块空间。

不同的变量内存地址不同

房间 —> 变量

房间名字 —> 变量名

房间类型 —> 变量的数据类型(分为)

入住的客人 —> 变量值

通过变量名可以简单快速找到数据。

2.2 变量的数据类型(常用):

Java02 变量_第1张图片

    float: 漂浮,实行       boolean:n.布尔数学体系(True Faith)

                   String:n.字符串

Java中常用的数据类型

首先分为数值和非数值类型。

其次数值类型分为:整数型(int) 小数型(double,float)

非数值类型:字符(char) 布尔类型(boolean) 字符串(String)

最常用的数据类型: int double char boolean String

基本数据类型:int double等等

特殊的数据类型 String(引用数据类型,它是Java提供的一个类),接口,数组…(引用数据类型)

数据类型说明

2.3 数据类型的大小

Java02 变量_第2张图片

变量声明及使用

1.第一步:声明变量,根据数据类型在内存申请空间。

数据类型+变量名; (如int money;)

2.第二步:赋值,即"将数据存储至对应的内存空间"。

变量名=数值; (如money=1000;)

3.第一步和第二步可以合并。

数据类型 变量名=数值; (int money=1000;)

4.第三步:使用变量,即"去除数据使用"

变量的使用

=,如果到了编程语言里,将不再是判断相等,而是赋值符号。

2.4 变量名的使用和命名规范

java中的变量名的组成:数字,字母,$和_都可以作为变量名的组成内容,数字不能开头。

1.变量名应该见名知意,

2.变量名使用单词或拼音的时候要统一,切忌混合,切忌中文。

3.小驼峰命名法。首字母小写,如果有多个单词,后面每个单词首字母大写!

helloWorld

4.下划线连接法。

hello_world

5.变量名不允许使用关键字和保留字。

Java中常量:

​ 常量的名字中出现的字母必须全部大写

​ 如果在常量名中出现多个单词,以下划线连接。例如:MY_NAME

例题:

principal 可以的

123rate 不可以,可以由字母,数字,下划线,和$组成,但是数字不能开头。

discount% 不可以,不支持%。

marks_3 可以

zip code 不可以,有空格。

 计算面积程序:

pubilc class Demo4 {

public static void main(String[] args){

//定义Π(pai)

 final double pi = 3.14; //被final修饰的变量,无法进行第二次改值 也就成了常量。

//声明一个变量来表示半径

int radius = 7;

//计算圆的面积

double area = pi * radius * radius

System.out.println("圆的面积:"+area);

}

}


在程序运行中,其值不能改变的量如何表示?

final int NUM = 10;

final double PI = 3.14;

int t = 2;

double area = PI * r *r;

优点: 比较安全

推荐做法:

(1) 常量名通常大写

(2) 不同字符使用下划线分隔

(3) 只能被赋值一次,通常定义即对其初始化

2.5 Scanner(扫描器)的使用:

在程序运行中,接受用户键盘输入的值

1.导入Scanner类

   import java.utill.*;

2.创建Scanner对象

  Scanner input = new Scanner(System.in);

3.获得键盘输入的数据

 int now = input.nextInt();
package cn.bdqn.demo4;
import java.util.Scanner;
public class B{
public static void main(String[] args){
   Scanner input = new Scanner(System.in);// 键盘录入.(你输入的数据)。
    int age = input.nextInt();// 获得键盘输入的数据。
    System.out.println("年龄" +age);// 输出
}
}

2.6 自动类型转换:

规则1.如果一个操作数为douoble型,则整个表达式可提升为double型

规则2.满足自动类型转换的条件

两种类型要兼容:

数值类型(整型和浮点型) 互相兼容

**目标类型大于源类型:**

例如:double型大于int型

double money = 10; // (自动类型转换)
int money = (int)10.6; //强制类型转换 损失精度
强制类型转化规则:
int b = (int)10.2;

double a = 10;

int c = (int)a;

[外链图片转存失败(img-YKGIWGhr-1567989988223)(C:\Users\86176\AppData\Local\Temp\1567653826056.png)]

将其强转一下

int before = 20;

double rise = 9.8;.int now =  (int) (before + rise); // 大转小.double now = before + rise; // 小转大.int now = before + (int)rise;  //局部大转小

2.7 常见运算符

赋值运算符

Java02 变量_第3张图片

package cn.bdqn.demo5;

public class D{
	public static void main(String[] args) {
		int num1 = 8;
		int num2 = 9;
		int num3 = 0;
		num3 = num1;
		num1 = num2;
		num2 = num3;
		System.out.println(num1);
		System.out.println(num2);
		}
}

算数运算符

基本的算数运算符:+,-,*,/,%,++,–

取余数(取模/求模)
5 % 2 = 1; 5模于2等于1
package cn.bdqn.demo6;

public class A {
	public static void main(String[] args) {
    	int remainder = 3 % 2;
    	System.out.println("余数:" + remainder);
		}
}

// ++/-- 表示自增和自减
package cn.bdqn.demo6;

public class A {
	public static void main(String[] args) {
    	// int remainder = 3 % 2;
    	//System.out.println("余数:" + remainder);
    	int num = 1;
    	num ++; // 等效于num = num + 1; 又等效于 num += 1;
        num1 --; // 等效于 num1 = num1 - 1;又等效于 num1 -= 1;
    	System.out.println(num);
		}
}
复合赋值运算符

基本的符合运算符:+=,-=,*=,/=,%=

**+=: 先加后赋值给本身。以此类推

-=: 先减后赋值给本身。

*=:先乘后赋值给本身

/=:先除后赋值给本身

%=:先取余赋值给本身

int num = 1;
    	//num ++; // num1 = num + 1;
    	//System.out.println(num);
    	  num += 5; // 等效于num  = num + 5
    	  System.out.println(num);
int x = 8;
		int y = 9;
		System.out.println((++x == y)&&(++x != y));
		System.out.println(x);
输出结果为:true
          10
int x = 8;
	      int y = 9;
	      System.out.println((++x != y)&&(++x == y));
	      System.out.println(x);
输出结果为:false
          9

判断的结果是boolean类型的 true/false

boolean result = 5 == 5;
    	System.out.println(result);
输出结果为:true

单个与,如果在执行逻辑运算时,前方的某个逻辑运算符没有成立(false),照常运算。

短路与,如果在执行逻辑运算时,前方的某个关系运算符没有成立,则不执行后面运算。(以此类推 )

三元(目)运算符

语法:条件(关系表达式) ? 表达式1 : 表达式2

运算符优先级:

算数>关系>逻辑

()优先级别最高。

ystem.out.println(x);
输出结果为:false
9


判断的结果是boolean类型的 true/false

```java
boolean result = 5 == 5;
    	System.out.println(result);
输出结果为:true

Java02 变量_第4张图片

单个与,如果在执行逻辑运算时,前方的某个逻辑运算符没有成立(false),照常运算。

短路与,如果在执行逻辑运算时,前方的某个关系运算符没有成立,则不执行后面运算。(以此类推 )

三元(目)运算符

语法:条件(关系表达式) ? 表达式1 : 表达式2

运算符优先级:

算数>关系>逻辑

()优先级别最高。

你可能感兴趣的:(java白话,note)