Java学习week two


day02-字面量、变量、运算符1

第一章:Java语法

1.1 关键字

1).在我们昨天编写的程序中: 4).注意:

如果一个表达式中做“多件事情”,++和–在变量的前面或者后面将会影响最终结果:

【注意】

1).main:也要求必须这样写,也都是小写,但它不是“关键字”;

2).String、System、out,println这些都不是关键字,但也必须都这样写!!

1.2 字面量【重点】

1).字面量:指在Java中可以直接存储、并处理的“数据”。

2).Java中可以存储、处理的“字面量”数据有“六种”类型:

1.3 变量-概念及作用

1).在我们程序中,尽量不要使用“字面量”,尤其在“多次重复使用某个数据时”:

 例如:我们要打印3次学生的年龄:24

System.out.println(24);

System.out.println(24);

System.out.println(24);

2).我们可以“为这个数据起一个名字”——定义变量

例如:我们要打印3次学生的年龄:24

  int age = 24;//为24起了一个名字:age

  System.out.println(age);//24

  System.out.println(age);//24

  System.out.println(age);//24

3).变量:就是为一个数据起的一个名字,后续代码可以通过这个“名字”来访问这个值!!更加方便管理

1.4 变量-定义的格式

1).定义变量的格式:

数据类型   变量名  =  值;

例如:要存储一个学生的年龄:24

int age = 24;

1.5 变量-定义的格式-数据类型

1).定义变量时,必须要指定某一个“数据类型”。“数据类型”是Java中预先定义好的,不能乱写。

Java中有两类的数据类型:

A).基本数据类型:day01-day04:只能存储“一个值”

四类八种:

1.整数:

1).byte: 1字节(8位)  -128到+127

2).short: 2字节(16位)  -3万多到+3万多

3).int: 4字节(32位)  -21亿多 到 +21亿多【常用】

4).long: 8字节(64位)  很大、很大…..

例如:要存储一个学生的年龄:24

int age = 24;

2.小数:

5).float: 4字节

6).double: 8字节 【常用】

例如:要存储一个学生的身高:1.85

double height = 1.85;

3.字符:

7).char: 2字节

例如:要存储一个学生的性别:男

char sex = ’男’;

4.布尔:

8). boolean:  一个布尔变量占4字节。后面会讲到数组,一个boolean的数组,每个元素占用1个字节。

 例如:要存储一个学生“婚否”:已婚/未婚

boolean marry = true;//已婚

B).引用数据类型:day05开始:可以存储“多个值”

1).String:字符串。

例如:存储一个学生的姓名:”刘德华”

String name = ”刘德华”;

2).后面还会讲到:数组、类等等都是“引用类型”

2).”数据类型”的作用:告诉Java,我们要存储的数据是“什么类型的”,以及“申请多大的空间”

3).变量存储的数据,都是存储在“内存”中,都是“临时存储”。

1.6 变量-定义的格式-变量名

1).在我们的源码中:类名、变量名、方法名等一些元素,都是我们程序员来命名的,在程序内部使用的一个“名字”,它们被统一称为:标识符。

2).这些“标识符”的命名是有规则,也有规范:【全部背下来】

1).规则:必须遵守的

1).组成:字母(中文)、数字、_和$符号

  int stu-age = 24;//错误的

2).开头:数字不能开头。

  int 2age = 24;//错误的

  int age2 = 24;//正确的

  int $$ = 24;//正确的

  int __ = 24;//正确的

3).关键字:不能和关键字同名

   int void = 24;//错误的

   int Void = 24;//正确的-Void首字母大写,所以不是“关键字”

   int myvoid = 24;//正确的myvoid作为一个整体,不是关键字

4).空格:名称中不能包含空格

int stu age = 24;//错误

2).规范:建议遵守的

1).一条:见名知意、驼峰命名

1).见名知意:int age = 24;,不要使用:int a = 24;

 如果英文不熟练,可以用“拼音”。

2).驼峰命名:大小写组合。

a).大驼峰:首字母大写,后续每个单词首字母都要大写。“类名”建议采用这种

publi class HelloWorld{

}

b).小驼峰:首字母小写,后续每个单词首字母要大写。“变量名”和“方法名”用小驼峰。

int stuAge = 24;

1.7 变量-定义的格式-值

1).定义变量时,赋的“值”一定符合以下要求:

1).必须是左边声明的类型的值:

int a = “字符串”;//编译错误,类型不匹配

String b = 24;//编译错误,类型不匹配。

2).也可以是左边类型“兼容”的值:

char a = ‘c’;

char a = 99;//也可以——char类型底层就是“数值”类型,所以可以赋值为一个整数。

double b = 20;//也可以——小数类型都会兼容整数类型。(整数不能兼容小数)

1.8 关于整数字面量和小数字面量

1).关于“整数字面量”:在Java中,所有的“整数字面量”,Java统一默认采用:int类型存储

例如:

int a = 20;//1.先用int类型来存储20;2.然后为这个存储空间绑定一个int类型的变量:a

这就会有一个问题:int类型最大能存储21亿

int a = 2200000000;//编译错误,先用int存22亿时,就出错了。

long b = 2200000000;//编译错误,先用int存22亿时,就出错了。

long b = 2200000000L;//OK了,先用long存22亿,然后再绑定long类型的变量:b

大家记住:对于“整数字面量”如果超过int的最大值(21亿多),可以在后面加一个L/l(小写),表示:用long类型来存储这个值。

2).关于“小数字面量”:在Java中,所有的“小数字面量”,Java统一默认采用:double类型存储。

例如:

float f = 0.1;//编译错误。先用double存储0.1,然后绑定float类型时,出错。

float f = 0.1F;//OK了,告诉编译器,用float存储0.1,不要用double存储。

但对于整数,可以直接赋给小数:

float f = 20;//OK的

1.9 综合案例

1).见上面:存储学员信息、存储手机信息

1.10 其它定义变量的语法:

1).我们之前都是一次定义一个变量:

int a = 10;

也可以先声明,后赋值:

int a;

System.out.println(a);//编译错误——因为此时a还没有值

a = 10;

 

2).也可以一次定义多个“同类型”的变量:

int a = 10 , b = 20 , c = 30;

【注意】

1).b和c绝对不能带int数据类型

2).三个变量中间用了逗号,隔开。

相当于:

int a = 10;

int b = 20;

int c = 30;

第二章:类型转换

2.1 类型转换

1).我们经常在程序中使用各种类型来存储数据。

对于“基本数据类型”的四类八种,除boolean以外,其它七种,相互之间都可以互相转换。

2).有两种转换方式:

A).自动转换:数据类型大小一样的,或者将小类型赋给大类型时。

int a = 10;

int b = a;

或者:

int a = 10;

         long b = a;

byte a = 10;//自动转换,因为高位全是0,舍掉的都是0,所以给转

float b = 0.1;//编译错误,因为高位有1,所以不给自动转。

B).强制转换:将大类型的数据存储到小类型中。

long a = 10;

int b = (int)a;

【注意】:

1).小数类型可以强转为整数

double x = 3.79;

int a = (int)x;//舍掉小数部分,只保留整数部分。

System.out.println(a);//3

 

注意:

byte,short,int,long转char类型,都需要“强转”:因为char不能存储负数

第三章:键盘录入

3.1 Scanner的使用步骤

1).三个步骤:

A).导包:在定义类的上方:

import java.util.Scanner;

B).创建对象:在main()方法中

Scanner sc = new Scanner(System.in);

C).接收数据:在创建对象之后

A).接收字符串:

sc.next();//缺点:不能接收带空格的字符串。优点:可以和nextInt()以及nextDouble()一起使用【常用】

sc.nextLine();//优点:可以接收带空格的字符串。缺点:不能和nextInt()以及nextDouble()等其它方法一起使用

B).接收一个整数

sc.nextInt();

C).接收一个小数:

sc.nextDouble();

2).注意:

1).从控制台不能接收一个“字符”:

3.2 练习

第四章:运算符

我们程序中可以存储数据,接下来,程序就需要对数据进行“处理”:

1).对数据进行算术运算

2).对数据进行判断

4.1 算术运算符

1).算术运算符:+、-、*、/、%(取余,取除法的余数 )

2).示例:

1).混合运算的问题:

2).“短整型(byte,short,char)”在运算时,会自动提升为int类型,所以:结果必须是int类型。

byte a = 10;

byte b = 20;

int c = a + b;//JVM在执行 a+b时,会将a和b自动提升为int类型,所以结果必须是:int类型。

——————————————————————————–

short t1 = 10;

short t2 = 20;

int t3 = t1 + t2;//结果必须得是:int类型

——————————————————————————–

char c1 = ‘a’;//在内存中变量c1存储的是:‘a’字符对应的编码值(97)

char c2 = ‘b’;//‘b’字符对应的编码值(98)

int c3 = c1 + c2;//97 + 98,结果必须是一个int值。

3).不同类型数据进行混合运算时,不足int的会提升为int,如果有高于int类型的,结果将是这个表达式中的最大类型的。

byte a = 10;

int b = 20;

double c = 30;

double d = a + b + c;

————————————————-

long a = 10; //8个字节

float b = 0.1F; //4个字节(比long大,因为小数的存储机制不同,如果存储整数,可以存储很大的整数)

float c = a + b;

数据类型的大小,从小到大:

byte–>short、char–>int–>long–>float–>double

4).对于String类型可以使用+符号:做“字符串拼接”

String s = “我爱”;

String s2 = s + “你”;

System.out.println(s2);//”我爱你”

——————————————————————

任何类型都可以和“字符串”做“拼接”:

System.out.println(3 + “abc”);//”3abc”

System.out.println(2 + 3 + “abc” + 4);//”5abc4”

System.out.println(5 + 5 + “5 + 5 =“ + 5 + 5);

//1->10 + “5 + 5 = “ + 5 + 5

//2->”105 + 5 = “ + 5 + 5

//3->”105 + 5 = 5” + 5

//4->”105 + 5 = 55”

4.2 赋值运算符

1).赋值运算符:=、+=、-=、*=、/=、%=

注意:+=、-=、*=、/=、%=都隐式的带“强制转换”

2).作用:更改变量的值:

int a = 10;//赋值语句,执行顺序:从右向左

a += 20;//相当于:a = a + 20;

System.out.println(a);//30

4).注意:

如果一个表达式中做“多件事情”,++和–在变量的前面或者后面将会影响最终结果:

4.3 自增自减运算符

1).自增自减运算符:++,–

2).作用:更改变量的值,加1或者减1

++和–放在变量的前面或者后面都可以:

4).注意:

如果一个表达式中做“多件事情”,++和–在变量的前面或者后面将会影响最终结果:

 

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/272865.html

(0)
上一篇 2022年7月9日 16:42
下一篇 2022年7月9日 17:03

相关推荐

发表回复

登录后才能评论