首先我们要知道”计算机三巨头“。
内存
内存(RAM)随机存取器:运行时内存,如果电脑突然断电或者出现其他问题,存储数据会丢失。(计算机运行内存)
内存(ROM)只读存取器:存储内存,电脑上存储的文件。(磁盘内存)(U盘,硬盘…)持久性存储数据。
CPU:中央处理器,调动程序,数据处理,计算。
硬盘:
永久存储数据
速度慢
空间大
**环境变量:**存储一些各种程序所需的信息。
变量:可以变动的量,在内存空间中可以用来储存数据开辟的一块空间。
房间 —> 变量
房间名字 —> 变量名
房间类型 —> 变量的数据类型(分为)
入住的客人 —> 变量值
通过变量名可以简单快速找到数据。
float: 漂浮,实行 boolean:n.布尔数学体系(True Faith)
String:n.字符串
Java中常用的数据类型
首先分为数值和非数值类型。
其次数值类型分为:整数型(int) 小数型(double,float)
非数值类型:字符(char) 布尔类型(boolean) 字符串(String)
最常用的数据类型: int double char boolean String
基本数据类型:int double等等
特殊的数据类型 String(引用数据类型,它是Java提供的一个类),接口,数组…(引用数据类型)
数据类型说明
变量声明及使用
1.第一步:声明变量,根据数据类型在内存申请空间。
数据类型+变量名; (如int money;)
2.第二步:赋值,即"将数据存储至对应的内存空间"。
变量名=数值; (如money=1000;)
3.第一步和第二步可以合并。
数据类型 变量名=数值; (int money=1000;)
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) 只能被赋值一次,通常定义即对其初始化
在程序运行中,接受用户键盘输入的值
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);// 输出
}
}
规则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; //局部大转小
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);
}
}
算数运算符
基本的算数运算符:+,-,*,/,%,++,–
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
单个与,如果在执行逻辑运算时,前方的某个逻辑运算符没有成立(false),照常运算。
短路与,如果在执行逻辑运算时,前方的某个关系运算符没有成立,则不执行后面运算。(以此类推 )
三元(目)运算符
语法:条件(关系表达式) ? 表达式1 : 表达式2
运算符优先级:
算数>关系>逻辑
()优先级别最高。