Java基础语法总结(超全)~~~

Java基础语法总结(超全)~~~,第1张

Java基础语法总结(超全)~~~ 数据类型

基本数据类型 数据类型           描述占用字节取值范围默认值int正型,用于存储整数4个字节-2147483648~21474836470byteJava中最小的数据类型1个字节-128~1270        short短整型2个字节-32768~327170long长整型-2^63~2^63 -10Lfloat浮点型,用于存储带小数点的数字4个字节/0.0fdouble双精度浮点型,用于存储带小数点的数字8个字节/0.0dchar字符型,用于存储单个字符2个字节0~65535空boolean布尔类型,用于判断真假1个字节true或falsefalse 类型转换

小->大(小类型自动提升为大类型)

       int x=2;
       double y=1.0;
       System.out.print(x*y);//2.0

大->小(强制类型转换,可能会丢失精度)

       double y=1.1;
       System.out.print((int)y);//1

String->其他数据类型

    //String->int

    String str="1";
    int x=Integer.parseInt(str);
    int y=Integer.valueOf(str);
    System.out.println(x);//1
    System.out.println(y);//1

    //String->char[]

     String str="hello world";
     char []arr=new char[str.length()];
     for(int i=0;i 
运算符 
优先级运算符分类结合顺序运算符由 

分隔符左结合.    []     ( )     ;      ,一元运算符右结合!  ++     --     -   ~

算术运算符

移位运算符

左结合*     /      %    +     -      <<   >>   >>>关系运算符左结合<     >     <=   >=   instanceof(Java 特有)   = =  !=逻辑运算符左结合! &&  ||  ~  &  |  ^ 三目运算符右结合布尔表达式?表达式1:表达式2赋值运算符右结合=  *=     /=  %=   +=   -=    <<= >>= >>>=  &=  *=  |=

1、左移(<<)

package com.xcy;
 
public class Test {
	public static void main(String[] args) {
		System.out.println(5<<2);//运行结果是20
	}
}

0000 0000 0000 0000 0000 0000 0000 0101           然后左移2位后,低位补0:

0000 0000 0000 0000 0000 0000 0001 0100           换算成10进制为20

2、右移(>>)

System.out.println(5>>2);//运行结果是1

0000 0000 0000 0000 0000 0000 0000 0101 然后右移2位,高位补0:

0000 0000 0000 0000 0000 0000 0000 0001

3、无符号右移(>>>)

package com.xcy;
 
public class Test {
	public static void main(String[] args) {
		System.out.println(5>>3);//结果是0
		System.out.println(-5>>3);//结果是-1
		System.out.println(-5>>>3);//结果是536870911
	}
}

4、位与(&)

package com.xcy;
 
public class Test {
	public static void main(String[] args) {
		System.out.println(5 & 3);//结果为1
	}
}

5、位或(|)

package com.xcy;
 
public class Test {
	public static void main(String[] args) {
		System.out.println(5 | 3);//结果为7
	}
}

6、位异或(^)

package com.xcy;
 
public class Test {
	public static void main(String[] args) {
		System.out.println(5 ^ 3);//结果为6
	}
}

7、位非(~)

package com.xcy;
 
public class Test {
	public static void main(String[] args) {
		System.out.println(~5);//结果为-6
	}
}
static变量

static变量也称为静态变量,静态变量和非静态变量的区别:

静态变量被所有对象共享,在内存中只有一个副本,在类初次加载的时候才会初始化

非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响

static成员变量初始化顺序按照定义的顺序来进行初始化

static块

构造方法用于对象的初始化。静态初始化块,用于类的初始化 *** 作。

在静态初始化块中不能直接访问非staic成员。

static块的作用

静态初始化块的作用就是:提升程序性能。

命名规范

类-源文件。大驼峰,第一个单词字母大写,多个单词都是首字母大写

包名-项目名:全小写,多个单词用_分隔;

变量:小驼峰-第一个单词全小写,第二个单词开始首字母大写

final 修饰的变量(常量)必须在声明时赋值

int a=10;

final a;

存放在对空间中

方法 基本语法:
public static 返回类型 方法名称([参数类型 变量, ......]) {
	方法体代码;
	[return [返回值];]
}

注意:1、如果一个方法用void型,可以用return提前结束调用

           2、java方法的参数传递只有值传递,

修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的 *** 作,但没有返回值。在这种情况下,returnValueType 是关键字void。
方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
方法体:方法体包含具体的语句,定义该方法的功能如  int x=0;  x=a+b;。

方法的重载

定义::在同一个类中,定义看若干个方法名称相同,参数列表不同(参数类型或个数),与返回值无关,这样的一组方法称为重载方法。

注意事项:重载方法参数必须不同

                  重载只与方法名与参数类型相关与返回值无关

                   重载与具体的变量标识符无关

方法的递归

使用场景:

1、个大问题可以拆分为多个子问题的解。

2、拆分后的子问题和原问题除了数据大小不一样,解决思路完全相同。

3、存在递归的终止条件

注意:写递归代码一定要注意方法的语义(方法的功能),不能陷入递归内部。当做调用别人写好的代码。

例:

public class TestDemo {
	public static void main(String[] args) {
		System.out.println(sum(100));
	}
	public static int sum(int num) {
		if(num == 1)
			return  1;
		return num + sum(--num);
	}
}


 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5719706.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存