栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA初始(续)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA初始(续)

**变量命名规则 ** 必须遵守
  1. 一个变量名只能包括数字字母,下划线
  2. 命名不能以数字开头
  3. 一定要注意大小写,不同的大小写所代表的值不一样。
尽量遵守:
  1. 变量命名尽量使用名词并且贴近意思。(尽量避免使用拼音)
  2. 类的命名尽量使用大驼峰命名法,变量的命名尽量使用小驼峰命名法。
int maxNum = 10; //小驼峰命名法
class HelloWorld{  //大驼峰命名法
}
常量:
  1. 字面值常量:
    我们经常定义的int a = 10中10就是字面值常量。
    还有各种进制的数值,以及布尔类型的值等等。
final关键字修饰的常量
final int a = 1;
a = 2;//编译出错,a无法改变(常量无法在程序运行过程中被修改)
类型转换
int a = 1;
long b = 2;
a = b;//编译错误,可能会损失精度
b = a;//编译可以通过

`对于整形数据而言,较大的数据不能赋值给较小的数据,肯能会发生数据丢失。但是可以把较小的类型赋值给较大。由于在java中布尔类型是独立的类型同样不能与整形相互赋值。

int a = 1;
boolean b = true;
 b = a;//编译不会通过

所以在java中在进行字面值常量赋值时会检测数据的大小,而进行变量赋值时会检测变量类型,不会允许存在风险的赋值行为。
在java中同样可以进行强制类型转换。

int a = 0;
double b =3.14;
a = (int)b;

值得注意的是在强制类型转换的时候可能会导致精度丢失,丢失了小数部分。强制类型转换没有关系的的类型会导致出错。(不能将boolean类型强制转换成int类型)

数值提升
  1. int 和long类型进行混合运算
int a = 10;
long b = 3.14;
int c = a+b;//当int与long类型进行混合运算的时候会提升为long类型,在赋值给int类型就可能会发生精度丢失。
long d = a+b;//赋值给long类型的变量就不会发生这种问题。

奇怪的"byte"

  • 当我们进行byte与byte之间的运算的时候,会发生一些奇怪的事情。
 byte a = 1;
 byte b = 2;
 byte c = a+b;
 System.out.println(c);

当我们编译这样的代码就会报错,当byte与byte类型进行运算时,系统都会先将byte类型提升为int类型再进行运算,所以当我们赋值给byte类型就会报错。由于计算机cpu通常都会以四个字节进行数据读写,所以进行运算时byte和short这种类型都会进行提升。这样可以提升计算机效率。

运算符 算数运算符
  • 基本四则运算:+ - * / %
    在除法运算中int/int的结果还是int不会保留小数。
  • 0不能作为除数
    当我们用0作除数并且进行运算时会报错。 -%表示取余(也可以对double类型进行取余)
  • 增量赋值运算符+= *= -= /= %=
int a = 10;
a *= a;//a = a*a;
关系运算符

== != >= <= > <

int a = 1;
int b = 2;
System.out.println(a>b);
System.out.println(a=b);
System.out.println(a<=b);

所有的关系运算符的表达式的返回值都是boolean类型

逻辑运算符

&& || !
逻辑运算符的操作数一般都是关系运算符的结果或者返回值都是boolean类型。

int a = 1;
int b = 2;
int c =3;
System.out.println(a 

** 值得注意的是逻辑运算符都满足短路求值.1:对于&&如果左侧的表达式的值为false就不会执行右边的语句.2:对于||而言当左侧的语句返回值为true就不会执行右边的语句 **

移位运算符

在java中与c语言不同的是移位运算符有三个:
<< >> >>>
** 左移<<**
左移没有任何问题,在二进制序列左移后在后面补零。
** 右移>>**
最右侧的二进制位舍去在最左侧补上符号位(正数补零,负数补一)
** 无符号右移**
最右侧不要了,在最左侧补零

int a = 0x10;
System.out.printf("%xn"a<<1);
System.out.printf("%xn"a>>1);
System.out.printf("%xn"a>>>1);

值得注意的是移位计算的效率高于乘法,并且移位次数过大没有意义。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/323221.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号