大数据--javase基础--day1

源文件的编写和编译

源文件的编写

(1)源文件名必须与公共类名保持一致。
(2)main方法写在类中
(3)代码在main方法中

源文件的编译

Step1:cmd进到你存源文件的目录下
Step2:利用javac+源文件名.java,进行编译,运行后会生成一个源文件生成的二进制类文件.class。如:javac HelloWorld.java
Step3:利用java +类文件名,让计算机对其运行。(注意:此时不需要类文件的后缀名)
在这里插入图片描述
在这里插入图片描述

源文件注意事项

  • java源文件中只能由一个公共类,但可以有多个普通类,数量不受控制,且公共类类名必须与源文件名一致。建议一个源文件只写一个类。
  • 若一个源文件中有多个类,则在编译后会生成多个.class字节码文件
  • main方法并不是必须在公共类中,但习惯上都写在公共类中
  • java源文件名虽不区分大小写,但是最好区分大小写,与公共public类名一致,目的:便于代码维护

代码

代码注释

  • 单行注释------// 单行注释
  • 多行注释------/* 多行注释 */
  • 文档注释------//** 文档注释,可以注释多行代码,并且可以生成API文档 */
    在这里插入图片描述

代码输出

  • 输出换行:System.out.println()
  • 输出不换行:System.out.print()
  • 连接输出
    在这里插入图片描述
    在这里插入图片描述

关键字

在java中已经被赋予独特含义,eg:for 、else等。一共有50个。

标识符

命名规则

  • 只能用字母、数字、下划线和美元符号$组成。
  • 不能用java关键字和特殊值
  • 不能以数字开头
  • 不能包含空格
  • 严格区分大小写

命名规范

  • 见名知意
  • 类名、接口名等:每个单词的首字母都大写,形式:XxxYyyZzz,如:HelloWorld
  • 变量、方法名等:从第二个单词开始首字母大写,其余字母小写。形式:xxxYyyZzz,如:age、bookName
  • 包名等:每一个单词都小写,单词之间使用点分割,形式:xxx.yyy.zzz。如:java.lang
  • 常量名等:每一个单词都大写,单词之间使用下划线分割,形式:XXX_YYY_ZZZ,如:MAX_VALUE, PI

数据类型

  • 基本数据类型
基本数据类型解释对应的包装类
整数类型
byte8 位有符号整数,取值范围为 -128 到 127Byte
short16 位有符号整数,取值范围为 -32,768 到 32,767Short
int32 位有符号整数,取值范围为 -2^31 到 2^31 - 1Integer
long64 位有符号整数,取值范围为 -2^63 到 2^63 - 1Long
浮点类型
float单精度浮点数,表示范围约为 1.4e-45 到 3.4e+38,精度约为 7 位小数Float
double双精度浮点数,表示范围约为 4.9e-324 到 1.8e+308,精度约为 15 位小数Double
字符类型
char16 位 Unicode 字符,取值范围为 \u0000(即空字符)到 \uffff(65,535)
布尔类型
boolean代表逻辑值,只能取 truefalseBoolean
注意:字符串类型不属于基本数据类型 
包装类的默认值均为null
  • 引用数据类型:类(class)、数组([])、接口(interface)、枚举(enum)、注解(@interface)

常量值

定义:在程序执行过程中,其值不会发生改变。

  • 整数常量值:超过int范围的必须加L或小写L
  • 小数常量值:无论多少,不加F则都是double类型。要表示float类型的话则必须加F或小写F。如:1.34, 1.34f
  • char字符常量值:必须使用单引号
  • String字符串常量值:必须使用双引号

强制类型转换和自动类型转换

自动类型转换

定义:将取值范围小的类型自动提升为取值范围大的类型。

取值范围大小关系图:
在这里插入图片描述
注意:除了char只能先转换到int,然后在转换为其他类型外,其他数据类型可以直接转换为其他类型,比如:byte类型可直接自动转换为float类型。
在这里插入图片描述
注意:当byte、short、char数据类型进行算术运算时,会自动按照int类型处理。
在这里插入图片描述

强制类型转换

  • 定义:将取值范围大的类型强制转换成取值范围小的数据类型。
  • 转换格式:变量名= (数据类型)被强制转换的数据值
  • 将double转换为int类型,把存储范围较大的值赋给存储范围较小的值时进行类型转换可能会损失精度或者溢出。
    在这里插入图片描述
  • 当某个值要提升数据类型时,也可以使用强制数据类型转换(该情况下,强制类型转换不会有风险)。

结果为0.5,若没有进行强制类型转换则结果为0.0,因为此处强转的为i,转换为了1.0/2=0.5
在这里插入图片描述

基本数据类型与字符串类型的转换

任何数据类型与String类型进行+运算时,结果一定是String类型,若与String类型优先级一致则从左往右依次进行处理。
在这里插入图片描述
String类型不能通过强制类型转换,转为其他类型。
在这里插入图片描述

变量

定义:在程序执行过程中,其值可以发生改变的量。
作用:存储数据,代表内存的一块存储区域,且这块内存中的值是可以改变的

变量必须先声明变量的数据类型在利用赋值号进行赋值,如:String = “李白”;
使用变量时,变量必须有初始值

变量声明:数据类型+变量名

运算符

  • 一共有38个运算符,按照操作数的个数分为一元(单目)运算符、二元(双目)运算符、三元运算符。
    (1)相同的操作数记为一个操作数,如:++为一元运算符;
    (2)(条件表达式)?结果1:结果2 为三元运算符;
    (3)除一元运算符和三元运算符之外的为二元运算符。

运算符分类

算术运算符:+、-、、/、%、++、–
赋值运算符:=、+=、-=、
=、/=、%=、>>=、<<=、>>>=、&=、|=、^=等
关系(比较)运算符:>、>=、<、<=、==、!=
逻辑运算符:&、|、^、!、&&、||
条件运算符:(条件表达式)?结果1:结果2
位运算符:&、|、^、~、<<、>>、>>>
Lambda运算符:->

部分运算符解释

算术运算符

*、/、%优先级大于+、-。而++和–高于所有的一元运算符。
a++:a先运算后自增1;++a:a先自增1后运算。

在这里插入图片描述

关系运算符

所含的六个运算符平级,运算结果为True或False

条件运算符

条件判断结果为true,则赋值结果1给变量;反之则赋值结果2给变量。
在这里插入图片描述

赋值运算符

会自动进行类型转换,而不需要进行强制性类型转换。

在这里插入图片描述

逻辑运算符

在这里插入图片描述

位运算符

只能运算整数的二进制形式z’z’x’x

正数的原码、反码和补码都一样;负数的原码、反码和补码不一样。
在这里插入图片描述

注意:如何区分&、|、^是逻辑运算符还是位运算符
若操作数是布尔(boolean)类型则为逻辑运算符,反之则为位运算符

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT机器猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值