类型转换,常量变量,运算符

**类型转换

由于java是强类型语言,所以要进行有些运算的时候,是需要用到类型转换的。

Java语言中数据类型之间的自动类型转换是由优先关系从低级数据类型转换成高级数据类型,boolean类型数据和其他七种不能互相转换

从容量小的类型自动转换为容量大的数据类型

低------------------------------------------------------------高

byte,short,char---->int---->long---->float---->double;

基本类型之间比较时低精度自动转化成高精度。转换的过程中可能存在内存溢出的问题。

运算中,不同类型的数据先转换为同一类型,再进行运算。

强制转换:(类型)变量名 由高---->低

自动转换: 由低---->高

 

**变量

变量就是可以变化的量。 java是一种强类型语言,每个变量都必须声明其类型。

java变量是程序中最基本的存储单元,其要素包括变量类型、变量名和作用域。

注意事项:

  • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。

  • 变量名必须是合法的标识符

  • 声明变量是一条完整的语句,因此每一个声明都必须以分号结束

变量作用域

  • 类变量

  • 实例变量

  • 局部变量

public class Variable{

static int allClicks=0; // 类变量

String str = "hello,world"; //实例变量

public void method(){

int i =0; // 局部变量

}

}

 

常量

常量:初始化之后不能再改变其值!不会变动的值

所谓常量可以理解为一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变其值。

static final double PI =3.14;

变量的命名规则

  • 所有变量,方法名,类名: 见名知义

  • 类成员变量:首字母小写 +驼峰原则(除了第一个单词以外,后面的单词首字母大写 如:lastName)

  • 局部变量:首字母小写 +驼峰原则

  • 常量:大写字母和下划线:MAX_VALUE

  • 类名:首字母大写和驼峰原则:Man ,GoodMan

  • 方法名:首字母小写+驼峰原则 run(),runningMan()

    运算符

    Java运算符按功能可分为:算数运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和条件运算符。

    算数运算符

    算术运算符包括通常的加(+)、减(-)、乘(*)、除(/)、取模(%),完成整数型和浮点型数据的算术运算。

    此外,算术运算符还有“++”和“--”两种,分别称为加1和减1运算符。这两种运算符有前缀形式和后缀形式,含有有所不同。例如,i++ 和 ++i 的执行顺序是不一样的,i++ 在 i 使用之后再 +1,++i 在 i 使用之前先 +1。i-- 和 --i 的情况于此类似。

关系运算符

关系运算符用来比较两个值,包括大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)和不等于(!=)6种。关 系运算符都是二元运算符,也就是每个运算符都带有两个操作数,运算的结果是一个逻辑值。Java允许“==”和“!=”两种运算符用于任何数据类型。例如,既可以判断两个数的值是否相等,也可以判断对象或数组的实例是否相等。判断实例时比较的是两个对象在内存中的引用地址是否相等。

 **逻辑运算符**

逻辑运算符包括逻辑与(&&)、逻辑或(||)和逻辑非(!)。前两个是二元运算符,后一个是一元运算符。Java对逻辑与和逻辑或提供“短路”功能,也就是在进行运算时,先计算运算符左侧的表达式的值,如果使用该值能得到整个表达式的值,则跳过运算符右侧表达式的计算,否则计算运算符右侧表达式,并得到整个表达式的值。

## 位运算符

位运算符用来对二进制位进行操作,包括按位取反(~)、按位与(&)、按位或(|)、异或(^)、右移(>>)、左移(<<)和无符号右移(>>>)。位运算符只能对整数型和字符型数据进行操作。

赋值运算符

赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。除了“=”,其它的都是特殊的赋值运算符,以“+=”为例,x += 3就相当于x = x + 3,首先会进行加法运算x+3,再将运算结果赋值给变量x。-=、*=、/=、%=赋值运算符都可依此类推。

## 条件运算符

条件运算符( ? : )也称为 “三元运算符”或“三目运算符”。

语法形式:布尔表达式 ? 表达式1 :表达式2。

运算过程:如果布尔表达式的值为 true ,则返回 表达式1的值,否则返回 表达式2 的值。

Math类

Math类是一个java里的数学类,很多运算我们会使用工具类来操作。

abs方法求绝对值。acos求反余弦函数。asin求反正弦函数。atan求反正切函数。pow求a的b次幂。sqrt求a的开平方。exp求e的a次幂。

public static synchronized double random() 返回0到1之间的随机数。

包机制

为了更好的组织类,java提供了包机制,用于区别类名的命名空间。(包的本质类似于文件夹的作用)

一般利用公司域名倒置作为包名;

为了能够使用某一个包的成员,我们需要在java程序中明确导入该包,使用“import”语句可完成此功能。

以百度为例,在程序中建包。把helloworld的文件放到了baidu.www.com包中,那么在整个程序最开始就要写上包的名称。

package必须放在最上面!!!!

 

比如要写一个时间的函数,Date.XXX 直接写是写不了的,需要把这个包导进来 import java.util.Date;这个是java写好的类,需要导进来。

包的语法格式为:package pkg1;

导入包的语法格式为:import package; // .*是通配符的意思,导入这个包下的所有类

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值