内容
1.数据存储的方式【了解就可以啦】
2.常量
3.变量【重点】
4.运算符【重点】
1.数据的存储方式
1.1数据存储的基本单位
计算机最小的存储单位字节(byte)
生活中常用单位:
1024Byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024PB = 1EB
计算机在处理数据对数据进行读取和存储过程
1.2常见的进制单位【开发中不用】
进制单位 | 基数范围 | 规则 |
---|---|---|
十进制 | 0-9 | 逢10进1 |
二进制 | 0-1 | 逢2进 1 |
八进制 | 0-7 | 逢8进1 |
十六进制 | 0-9 a-f | 逢16进1 |
java代码中:
十进制:109 190 250
二进制:011
八进制:要求以0开头 010
十六进制:要求以0x开头 0x11
2.常量
2.1生活中的常量
一周7天
一天24小时
一小时60分钟
文字:你 我 他
圆周率
代码源于生活,并且服务生活
2.2代码中的常量
定义:在代码运行过程中不可改变的量叫常量
按照生活习惯把常量分为这几类:
整数: 7, 24, 60
小数【可叫浮点数】:圆周率
字符: '你' '我' '他'
【注意事项】:字符只能用单引号修饰,并且里面只有一个元素
真假关系:真 假
字符串:"求怕累"
【注意事项】:字符串使用双引号修饰,里面可以有多个元素或者一个元素
/**
* 在idea中 如果想写文档注释的话 /**直接回车
*
* 常量
*/
public class Demo1 {
public static void main(String[] args) {
//整数
System.out.println(78);
System.out.println(520);
//浮点(小数)
System.out.println(3.14);
//真假关系(布尔类型的数据)
System.out.println(true);//真
System.out.println(false);//假
//字符
System.out.println('a');
System.out.println('中');
System.out.println('国');
//字符串
System.out.println("十多年技能倒计时");
}
}
3.变量
3.1生活中的变量
时间
天气的温度
你的年龄
你的体重
头发
x + y = 10
3.2代码中如何定义变量
定义:程序在运行过程中,可以改变的量叫变量
语法格式:
数据类型 变量名字 = 初始化的值;比如 int a = 12;
数据类型:用来约束当前变量是什么类型的
变量名字:自己起的名字,不能用中文,但是一定要见名知意
=:赋值号
初始化的值:第一次给的数据
3.3数据类型【重点!!!】
Java有八大基本数据类型
整型(4个):整数 byte short int long
浮点型(2个):float double
字符型(1个):char
布尔类型(1个):boolean
整型 | 数据范围 | 占用的字节内存 |
---|---|---|
byte | -128~127 | 1字节(8bit) |
short | -32768~32767 | 2字节(16bit) |
int | -2^31~2^31-1(以后常用的,并且是java默认的) | 4字节(32bit) |
long | -2^63~2^63-1 | 8字节(64bit) |
浮点型 | 数据范围 | 占用字节内存 |
---|---|---|
float | -3.4x10^38~3.4x10^38 | 4字节 |
double | -1.79x10^308~1.79x10^308(是java默认的) | 8字节 |
【注意事项】:
思考?为什么float类型的数据要加F?
double是默认的,数据范围比folat大,大转小精度有没有可能丢失?有!!!
字符类型 | 数据范围 | 占用的字节内存 |
---|---|---|
char | 中文英文都可以 | 2字节 |
布尔类型 | 数据范围 | 占用字节 |
---|---|---|
boolean | true或者false | 1字节 |
3.4变量名字命名规则
养成好习惯,命名要规范:
在真实的开发中如何看出来你是个菜鸟?
可以通用你写类名和变量名字
类名的命名:
1.首字母大写,采用大驼峰的命名规则 HelloWorld
变量的名字命名规则:
1.变量可以使用范围 英文字母(A-Z,a-z) 数字(0-9),特殊字符(_)
2.但是不能以数字开头
3.要求以小驼峰的命名规则 [变量的名字由两个单词组成的,第一个单词首字母小写,第二个单词首字母大写](例如:studengName)
4.命名的时候一定见名知意 weight:体重 height:身高
5.已经被java或者系统所占用的关键字,能不能作为变量名字
public class Demo5 {
public static void main(String[] args) {
int a1 = 20;
// int 3a = 45;不能以数字开头
int a_b = 45;
int _t = 78;
String studentName = "张三疯";//小驼峰的命名规则
String student_name = "张无忌";//使用下划线的写法
double weight = 56.8;
boolean sex = true;
//int static = 78;关键字不能当成变量名字
}
}
4.字符集编码
文字对于电脑来讲都是以流的形式进行读取和存储的。首先电脑要识别你的文字。
GBK:
新国标 ,包含中文简体和中国少数名族的文字
GB2312:
老国标,包含中文简体和部分的少数民族的文字
BIG5:
收录中文的繁体,主要用于中国香港,中国澳门,中国台湾等地
UTF-8:
万国码,包含了所有国家的文字,也是咱们开发中最常用的一种编码格式
ASSCII:
美国标准协会,闲着没事搞的一个编码集,不过有些时候还是得用得到的
5.转义字符
目的:把一个无意义的字符转为有特殊意义的字符或者是把一个特殊意义的字符转为一个无意义的字符
语法格式:
\需要你转义的字符
几个特殊的符号:
\n:回车换行
\t:制表符,空格
public class Demo6 {
public static void main(String[] args) {
//打印一个字符"
System.out.println('"');
//打印一个字符串的 ""
System.out.println("\"\"");
//打印出来一个字符 '
System.out.println('\'');
//打印出来一个\
System.out.println("\\");
//打印出来两个\\
System.out.println("\\\\");
System.out.println("蒸羊羔\n蒸鹿尾\n烧花鸭");
System.out.println("鹅鹅鹅\t去爱那个向天歌");
}
}
6.运算符
6.1算术运算符
数学中的加(+)减(-)乘(*)除(/) 取余(%)
先乘除后加减。如果有小括号就先算小括号里面的
基本法则:从左向右执行
/**
* 加减乘除取余的案例
*/
public class Demo7 {
public static void main(String[] args) {
//加
int num1 = 10;
int num2 = 20;
num1 = num1 + num2;//30
System.out.println(num1);
//c乘
int i1 = 4;
int i2 = 8;
i1 = i1 * i2;
System.out.println(i1);//32
//减
int a1 = 2;
int a2 = 3;
int a3 = a1 - a2;
System.out.println(a3);//-1
//除
int b1 = 5;
int b2 = 2;
System.out.println(b1 / b2);//2
//取余
int c1 = 9;
int c2 = 2;
c1 = c1 % c2;
System.out.println(c1);//1
}
}
补充一点小知识
public class Demo8 {
public static void main(String[] args) {
int num1 = 10;
int num2 = 20;
//num1 = num1 + num2; 只有符合这种方式的才能使用懒汉式写法
num1 += num2;//先num1+ num2 然后再使用=赋值给num1
System.out.println(num1);//30
//num1 = num1 - num2;
num1 -= num2;
System.out.println(num1);//10
//num1 = num1 * num2;
num1 *= num2;
System.out.println(num1);//200
//num1 = num1 / num2;
num1 /= num2;
System.out.println(num1);//10
//num1 = num1 % num2;
num1 %= num2;
System.out.println(num1);//10
}
}
6.2自增自减运算符(面试中笔试的时候很容易出)
目的:使变量自身加1或者减1
自增和自减运算符,只能操作变量
语法格式:
++变量;
变量++;
--变量;
变量--;
++:
在变量的后面,首先执行当前语句操作,然后再自增1
在变量的前面,先自增1,然后再执行其他语句
--:
在变量的后面,首先执行当前语句操作,然后再自减1
在变量的前面,先自减1,然后再执行其他语句
public class Demo1 {
public static void main(String[] args) {
int num = 10;
//先输出打印,然后再自身加1
// System.out.println(num++);//10
// System.out.println(num);//11
// //先自身加1,再输出打印
// System.out.println(++num);//12
// System.out.println(num);//12
int num1 = 5;
// int ret = num1++ * num1;
// System.out.println(ret);//30
// System.out.println(num1);//6
int num2 = 3;
int ret = num2 * ++num2;
System.out.println(ret);//12
System.out.println(num2);//4
int num3 = 4;
System.out.println(--num3);//3
}
}
6.3关系型运算符
> (是否大于)
<(是否小于)
>=(是否大于等于)
<=(是否小于等于)
!=(是否不等于)
==(是否等于)
注意!!!关系型运算符返回的结果只能是true或者false
3 > 4 false
public class Demo3 {
public static void main(String[] args) {
//3 >4是一个整体 结果赋值给了ret这个变量
boolean ret = 3 > 4;
System.out.println(ret);//false
boolean ret1 = 3 < 4;
System.out.println(ret1);//true
boolean ret2 = 3 >= 4;
System.out.println(ret2);//false
boolean ret3 = 3 != 4;
System.out.println(ret3);//true
boolean ret4 = 3 == 4;
System.out.println(ret4);//false
}
}
6.4逻辑运算符
与:&&
语法格式: 条件1 && 条件2&&条件3&&条件4....
条件1和条件2都为true的话,才有true。只要有一个为false,那整体的结果就为false
例如我们生活中,且。 银行的保险柜,钥匙和密码缺一不可。
或:||
语法格式:条件1 || 条件2
两个条件都是false的话,整体的结果才为false,只有有一个为true,整体的结果就为true。
生活中家里有两把钥匙,你的钥匙丢了,可以用你媳妇打开门。
非: !
取反
接下来给大家记到自增的题,可以手算一下再运行一下看看结果对不(很容易蒙圈)
int i = 3;
int a = -(i++);
sout(i);
sout(a);
int a,i = 5;
a = i++ + i++ + i++;
sout(a);
sout(i);//8
int a,i = 5;
a = ++i + (++i) + (++i);
sout(a);
int i = 5;
int a = (++i) + (i++) + (i++) + (++i);
sout(a);
int i = 5;
int a = (++i) + (++i) + (++i) + (++i) + (i++);
sout(a);
int i = 5;
int a = (++i) + (++i) + (++i) + i + (++i) + (++i);
sout(a);
扩展
String类型的数据
字符串
public class Demo4 {
public static void main(String[] args) {
//声明一个字符串类型的数据
//s数据类型 变量名字 = 初始化的值;
String s1 = "鹅鹅鹅";//字符串值必须使用双引号
System.out.println(s1);
//字符串的拼接
String s2 = "白毛浮绿水";
System.out.println(s1 + s2);
System.out.println(s1 + "," + s2);
}
}