ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java学习week two

2022-07-07 23:05:16  阅读:125  来源: 互联网

标签:week 24 存储 Java 变量 int two System 类型


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).注意:

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

 

标签:week,24,存储,Java,变量,int,two,System,类型
来源: https://www.cnblogs.com/xlm926/p/16456516.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有