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

13453156

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

13453156

类型转换

强制转换
不同数据转换成为同一类型进行操作----------从低到高,强制转换(注意内存溢出或精度问题)
自动转换
自动转,不用加前缀,低到高

不能对布尔值进行转换
不能把对象类型转换为不相干的类型

char c = 'a';
int d = c +1;
System.out.println(d); ----------------------98
System.out.println((char)d);```------------------b 

JDK7数字间可以加入下划线,输出不变

int money = 100000000;
int money= 100_000_000;
int a;
int b;
int c = a*b;溢出
long c2= a*b;溢出---先算a*b,a*b为int型,算完了,结果溢出,转换前已经有问题了
Long c3= a*(long)b;(解决方法,先把一个转化为long型)
变量

java是一种强类型语言,每个变量都必须声明其类型-----基本类型或引用类型
Java变量是程序中最基本的存储单元,要素包括变量名,变量类型和作用域
变量名必须为合法的标识符
变量声明是一条完整的语句,以分号结束
定义多值逗号隔开

int a= 1;
String name = "asd";
char x = 'X';
double pi = 3.14;

java中单引号和双引号区别
区别1:java中的单引号表示字符,java中的双引号是字符串。
区别2:单引号引的数据一般是char类型的;双引号引的数据 是String类型的。
区别3:java中单引号里面只能放一个字母或数字或符号;java中的双引号里面是0到多个字符构成。所以字符可以直接转换成字符串。字符串需要使用charAt(n) 来获取第几个字符。
char定义时用单引号,只能有一个字母,数字。char c=‘c’;而String用双引号,可以是一个,也可能是多个字母,汉字等。就是所谓的字符串。String s=“adsaf”;
char只是一个基本类型,而String 可以是一个类,可以直接引用。比如char c=‘c’;不能直接对c调用方法。String s=“abc”; 这时可以调用s.charAt(0);等方法,因为String是类,这是就是对象的调用了。

变量命名规范

类成员变量,首字母小写加驼峰原则
局部变量,首字母小写加驼峰原则
常量,全全部字母大写加下划线
类名,首字母大写加驼峰原则
方法名,首字母小写加驼峰原则

作用域

类变量-------写在类里面,static
实例变量----写在方法外面,类的里面,没有static 关键词,
局部变量----写在方法里面的

public class S{     // s--类名
	static int acc = 0;  //类变量
	String str = "hello world";  //实例变量    // st--变量名

	public void add(){  //    public void 的  ass--方法名
	int i = 0;  //局部变量
	}
}
public class A{
	//类变量 static
	static double salary = 2500;
	// 类里面还可以定义一些属性
	//实例变量 从属于对象,如果不赋初值,基本类型(byte1字节,short2字节,int4字节,long8字节,float4字节,double8字节,char2字节,boolean)的默认值 0 或者0.0 ;布尔值默认值false;除了基本类型,别的默认值为null
	String name;
	int age;
	----------------------------------------------------------------------------------------------------------
	// main 方法
	public static void main (String[] args){
//局部变量;写在方法里面,必须声明和初始化值
		int i;
		System.out.println(i);--------1.不赋初值,无法输出,int i = 10;   2.在add方法中无法输出
//变量类型 变量名字 = new A();
	      A               a       = new  A  ();
	      System.out.println(a.age);------------------------0
	      System.out.println(a.name);---------------------null
//类变量  static
		    System.out.println(salary);
	}
	---------------------------------------------------------------------------------------------------------
	//其他方法  add方法
	pubilc void add(){
	
	}

}

代码块static{},作用域就高了。
类名,变量名,方法名,称为----标识符—首字母以 ----英文字母大小写,$或 _ 开始,首字母后可以含数字;不能以关键字做标识符名字;标识符大小写敏感。

常量

设定后不可改变,一般都用大写字母表示。
final 常量名 = 值;------常量名多为大写
final double PI = 3.14;

public class A{
	static final double PI = 3.14;-----static 和final 位置可互换,修饰符不存在先后顺序
	
	public static void main (String [] args){
	System.out.println(PI);
	}
	
}
运算符 operator

算术运算符 -------- 二元运算符+ - * / % 一元运算符++ --除法注意int-------->double
赋值运算符=
关系运算符> < >= <= == != 返回值是布尔值
逻辑运算符 && || !与或非(取反)
位运算符 & | ^ ~ >> <<
条件运算符 ?:三元运算符 x ? y : z 如果x==true,则结果为y,否则为z
扩展赋值运算符 += -= *= /=
很多运算会采用工具类函数,如 Math.pow()函数
优先级()

int a = 3;
int b = a++;   // b=(a=a+1)-------a++,执行代码后,先赋值给b,a再等于a+1

system.out.println(a);---------4

int c = ++a; //----------------------++a,执行代码前,a先加1。再赋值给c
system.out.println(a);--------5
system.out.println(b);--------3
system.out.println(c);--------5

短路运算

int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);------------------------false
System.out.println(c);----------------------5
int c = 5;
boolean d = (c++<4)&&(c<4);
System.out.println(d);------------------------false
System.out.println(c);----------------------6

位运算

A = 0011 1100
B = 0000 1101 
A&B = 0000 1100--------------------00为0,10为0,11为1--------含0为0
A|B = 0011 1101--------------------00为0,10为1,11为1--------含1为1
A^B = 0011 0010-------------------00为0,01为1,11为0---------相同为0,不同为1
~B  = 1111 0010

逻辑运算

int score = 80;
String type = score < 60? "及格" : "不及格"(也可以if判断)
System.out.println(type);---------------------及格

如何计算2*8最快 (位运算,效率高)
左移 << *2
右移 >> /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
System.out.println(2<<3);------------------16

字符串连接符 + 号有String类型,会转化为String类型进行运算
int a = 10;
int b = 20;
System.out.println(""+a+b);---------1020
System.out.println(a+b);------------30

System.out.println(""+a+b);
System.out.println(a+b""+);
有什么区别?
System.out.println(""+a+b);--------1020
System.out.println(a+b""+);---------30

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

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

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