今天的内容
1.了解数据存储形式(了解)
2.常量
3.变量(重点)
4.运算符(重点)
1.数据的存储(了解)
1.1数据存储的基本单位
计算机存储的最小的单位是字节(byte)
生活中常用的数据的单位:
1024Byte = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB
1024TB = 1PB
1024PB = 1EB
红楼梦 10w 1.45MB
淘宝的一天的数据 50PB
大数据 分析数据的!!!,预测下一步干嘛
得数据者得天下
1.2常见的进制单位(开发不用,不需要会的)
进制单位 | 基数范围 | 规则 |
---|---|---|
十进制 | 0-9 | 逢十进一 |
二进制 | 0-1 | 逢二进一 |
八进制 | 0-7 | 逢八进一 |
十六进制 | 0-9 A-F | 逢16进一 |
十进制:10, 2021
二进制:0111,01,01111,011001 只能是0和1组成
八进制:要求以0开头
0777
十六进制:要求0x开头
0x1234 0x9ac
1.2.1十进制和二进制之间的转换
1.十进制的整数转二进制
采取除2取余,逆序排列法
42的二进制 101010
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-McvBrGSW-1633255448344)(.\1.png)]
小数转为2进制
0.125转二进制
0.125 * 2 = 0.25 0
25 * 2 = 0.5 0
0.5 * 2 = 1 1
2.常量
2.1生活中的常量
一周7天
一天24小时
一小时60分钟
3.1415926…
文字:你我他
代码源于生活,并服务于生活
2.2开发中常量
定义:在程序运行过程中,不能改变的量叫常量
按照生活的习惯划分这几类:
整数:1,2,24,7
小数(浮点数):3.1415926…
真假关系(布尔类型):true false
字符:‘你’ ‘我’ ‘a’ ‘b’
【注意】:字符只能单引号并且单引号中只有一个元素
字符串:
“斯是陋室,惟馨”
“年轻人不讲吾德”
【注意】:是双引号,并且里面可以有多个元素
package com.qfedu.app;
/**
* /**直接回车就可以生成文档注释
* 常量
* 单行注释 ctrl + ?
*
* 多行注释 ctrl+shift +?
*/
public class Demo1 {
public static void main(String[] args) {
//整数
System.out.println(520);
System.out.println(7);
//浮点数(小数)
System.out.println(3.1415926);
/*布尔类型*/
System.out.println(true);
System.out.println(false);
/*字符*/
System.out.println('a');
/*字符串*/
System.out.println("那就这样吧");
}
}
2.3字符集问题
文字对于电脑来讲,都是以流的形式进行存储和读取的,首先电脑去识别这些文字
GBK :
新国标,包含了中文简体的所有文字,和少数民族的文字
GB2312:
老国标,包含了中文的简体所有的文字,以及部分的少数民族的文字
BIG5:
收录了所有的中文繁体文字,主要用于中国香港,中国澳门,中国台湾等需要繁体字的地区
UTF-8:
万国码,包含了所有的国家的文字。也是开发中最常用的编码集
ASSCII:
美国标准协会,闲着没事,做的编码集。不用的
2.4转义字符
功能是把一个无意义的字符转换成一个特殊含义的字符。或者把一个有特殊含义的字符转换成一个无意义的字符
语法格式:
转义字符使用反斜线开头
几个特殊的
\n回车
\t 制表符 一个tab键
package com.qfedu.app;
/**
* 转义字符
*/
public class Demo2 {
public static void main(String[] args) {
//要求打印出来字符串的"
System.out.println("\"");
//要求打印出来一个字符的'
System.out.println('\'');
//打印两个两个"
System.out.println("\"\"");
//打印\
System.out.println("\\");
//打印 \\
System.out.println("\\\\");
//\n换行
System.out.println("蒸羊羔\n蒸鹿尾\n烧花鸭\n烧子鹅");
//\t
System.out.println("烧雏鸡\t卤煮");
}
}
3.变量
3.1生活中变量
时间
天气的温度
年龄
银行里面的余额
体重
x + y = 10;
x + 2y = 31;
x = 2;
y = 8;
x y 是未知数,类似于开发中的变量
3.2代码中如何定义变量
语法格式:
数据类型 变量的名字 = 初始化的数据;例如 int a = 10; 把10赋值给一个变量 a
【注意】= 把等号右边的赋值给左边的
数据类型:
约束当前变量是什么类型的。
变量名字:
是自己的起的名字,但是一定要见名知意。 int age = 18;
=:
赋值号
初始化的数据:
就是一个值
3.3数据类型(明天默写,八大基本数据类型)
整型:有4个 byte short int long
浮点型(小数点):有2个 float double
字符(单引号引起来的一个元素):1个 char
布尔(真和假):1个
整型 | 数据的范围 | 占用的内存空间 |
---|---|---|
byte | -128~127 | 1字节(8bit) |
short | -32768~32767 | 2字节(16bit) |
int | -231~231 - 1(以后常用的)默认的 | 4字节(32bit) |
long | -263~263-1 | 8字节(64bit) |
浮点 | 占用内存空间 | 数据范围 |
---|---|---|
float | 4字节(32bit) | -3.4x10^38 ~ 3.4x10^38 |
double | 8字节(64bit) | -1.79x10^308 ~ 1.79x10^308(最常用)默认的 |
【注意事项】:
double到float转换可能会丢失精度,大转小可能丢失。小转大不会丢失,所有在声明
float类型的数据的时候后面加F
统一记一下:声明long类型后面加L。声明float类型数据的时候加F
字符 | 占用的空间 | 数据的范围 |
---|---|---|
char | 2字节 | 中文和英文都可以 |
布尔类型 | 占用的空间 | 数据的范围 |
---|---|---|
boolean | 视情况而定 | true和false |
3.4变量名字的命名规则
命名规范:
1.变量(标识符)的名字可以使用的范围
英文字母a-z,A-Z,数字0-9,特殊字符_,
例如 age weight age1 student_name studentName
2.变量的命名以英文字母开头,不能以数字开头
3.变量名字必须严格区分大小写 例如studentName和studentname 这两个变量的名字不一样
4.变量的名字长度没有限制,但是别自己没事给自己找事。见名知意即可
5.起名字要见名知意(不要用拼音太low)有道词典
6.要求使用驼峰命名规则
a)小驼峰 一般是命名变量的!!!
studentName 如果由两个或多个单词进行拼接而成的话,第二个和以后的单词的首字母大写
b)大驼峰 一般是命名类的!!!
如果由两个或多个单词进行拼接而成的话,每个首字母大写
HelloWorld
7.已经被java或者系统占用的标识符,不能声明为变量。
package com.qfedu.app;
/**
* 数据类型
*/
public class Demo3 {
public static void main(String[] args) {
byte a = -8;//取值范围是-128~127。声明了一个byte类型的数据用的不多
short b = -3276;//使用的不多。声明了一个short类型数据
int c = 772289929;
long d = 733983993733838L;//声明long类型的数据的时候后面要加L
//double类型的数据范围大,默认的是double类型的数据
double e = 737828299.89272882;
float f = 72228.62727872F;
//注意double到float转换可能会丢失精度,大转小可能丢失。小转大不会丢失,所有在声明
//float类型的数据的时候后面加F
int age = 18;
double height = 1.81;
char g = 'A';
char h = '中';
//声明一个布尔类型的数据
boolean i = true;
boolean j = false;
//声明体重
double weight = 101.3;
int age1 = 18;
//严格区分大小写。
String studentName = "狗蛋";
String studentname = "翠花";
byte byteNumber = 10;
//int class = 12;java里面有的不能起这样的名字
System.out.println(byteNumber);
}
}
4.运算符
4.1算术运算符
加 减 乘 除 取余 (求余数)
先乘除再加减。有括号的先算括号里面的。不能除以0
基本法则是从左向右进行运算
【偷懒专用】
+= -= *= /= %=
例如:
num1 = num1 + num2 =====> num1 += num2
【注意事项】:
1.要关注变量在运行过程,变量的改变
2.注意运算符使用的是哪一个
package com.qfedu.app;
/**
* 算术运算符
*/
public class Demo4 {
public static void main(String[] args) {
int num1 = 10;
int num2 = 20;
num1 = num1 + num2;//num1 = 10 + 20 30赋值给num1
System.out.println(num1);
num1 = num1 * num2;//num1 = 30 * 20 600赋值给num1
System.out.println(num1);
num1 = num1 / num2;//num1 = 600 / 20 30赋值给那num1
System.out.println(num1);
//取余
num1 = num1 % num2;//num1 = 30 % 20
System.out.println(num1);//10
num1 = num1 - num2;
System.out.println(num1);//-10
//num1 = -10 num2 = 20
num1 += num2;//num1 = num1 + num2 是一样的 -= *= /= %=
System.out.println(num1);
}
}
4.2自增自减运算符
目的:使本身变量自己增加或者减去1
自增自减变量运算符只能操作变量。
++:
在【变量的后面】,首先执行当前语句,然后再执行自增的操作
在【变量的前面】,首先执行自增的操作,然后再执行当前语句
–:
在【变量的后面】,首先执行当前语句,然后再执行自减的操作
在【变量的前面】,首先执行自减的操作,然后再执行当前语句
int num3 = 5;
int result = num3 * num3++;
++(num3++);
System.out.println(result);
System.out.println(num3);
改错
package com.qfedu.app;
/**
* 自增自减
*/
public class Demo5 {
public static void main(String[] args) {
int num = 10;
// System.out.println(num++);//10
// System.out.println(num);//11
// System.out.println(++num);//11
// System.out.println(num);//11
int num1 = 5;
// /*
// num1 5
//
// */
// int ret = num1++ * num1;
// System.out.println(ret);//30
// System.out.println(num1);//6
int num2 = 5;
/*
* num2
* */
int ret = num2 * ++num2;
System.out.println(ret);
System.out.println(num2);//6
int num3 = 5;
int result = num3 * num3++;//25
int num4 = num3++;//num4 6
++num4;//7
System.out.println(result);//25
System.out.println(num4);//7
}
}
作业:
今天的代码至少撸三遍以上
做好笔记
金山打字通
//
// /
// int ret = num1++ * num1;
// System.out.println(ret);//30
// System.out.println(num1);//6
int num2 = 5;
/
* num2
* */
int ret = num2 * ++num2;
System.out.println(ret);
System.out.println(num2);//6
int num3 = 5;
int result = num3 * num3++;//25
int num4 = num3++;//num4 6
++num4;//7
System.out.println(result);//25
System.out.println(num4);//7
}
}
作业:
今天的代码至少撸三遍以上
做好笔记
金山打字通