首页 > 技术文章 > 【JAVA】笔记(1)---JVM内存图;方法重载;输入方法;转义字符;强制类型转换;变量分类及区别;Java命名规范;

Burning-youth 2021-11-05 22:39 原文

Java命名规范:


1.包:全部字母小写;

2.类+接口:所有单词的首字母大写;

3.变量+方法:第一个单词的首字母小写,其余单词首字母大写;

3.常量名:所有字母均大写,且用下划线” _ “连接多个单词;

 

JVM内存:


1.栈内存:为所有方法运行时分配内存,为局部变量分配内存;

2.堆内存:为对象级别的类,实例变量分配内存;

3.方法区内存:为”.class“字节码,静态变量,静态方法分配内存;

注意:对于栈内存:先分配内存(压栈)的栈底元素后释放内存(弹栈);

                                 后压栈的栈顶元素先弹栈;

内存图:

 

变量:


1.变量分为成员变量和局部变量;

2.成员变量定义在类内,方法外;成员变量又分为实例变量和静态变量;成员变量在整个类里都可以使用;实例变量储存在堆内存中,静态变量储存在方法区内存中;成员变量都有默认初始化值,所以即使没有初始化,也不会报错;成员变量可以被访问权限修饰符修饰;

3.局部变量定义在方法内;局部变量只能在定义它的方法里用;局部变量储存在栈内存当中,运行阶段结束,占用空间会自动释放;局部变量必须初始化,否则报错;局部变量不能被访问权限修饰符修饰;

 

强制类型转换:


1.概念:计算机会在运算俩个不同数据类型的数据时,会先把范围小的数据类型转换为范围大的数据类型,再进行运算;一个数据类型赋值给另一个数据类型的变量也是同理,计算机会先把范围小的数据类型转换为范围大的数据类型,再进行赋值;

2.1那么范围大的数据类型赋值给范围小的数据类型呢?正常情况下,编译器都会报错来提醒咱们的,那如果咱就是想要这个效果呢?那么就需要手动进行强制数据类型转换了:

格式1: int a =0;a= (int) 11.3 ; //这样11.3就会变成11,然后再赋值给 a ;格式2:int a = 0 ;  a+=11.3 ; //同样效果;

注意:short,byte,char之间进行运算不会互相转换,最终都会转换为 int 类型;

 

转义字符” \“:


1. \n    换行;System.out.print("\n") ; 等价于 System.out,println ( )

2. \r     制表符;使输出的一堆数据间有间隔,更整齐;

3. \\     输出“ \ ” ;    \'    输出 “ ‘ ”  ;\"      输出  " " " ; 

 

方法重载:


一、条件:

1.同一个类中;

2.方法名相同;

3.参数列表不同:参数个数不同/参数类型不同/参数顺序不同;

  注意:“不同”针对的对象都是数据类型,而非变量名,eg: public void tool(int a, int b) { }  和 public void tool(int b, int a) { }  就不能构成方法重载;

二、目的:

让方法在接受不同参数实现不同的功能;

 

随笔:


1.给 long 类型的变量赋值时,需要在数值后加” l “,eg:long num=100l;

  给 float 类型的变量赋值时,需要在数值后加” f “,eg:float num=100f;

2.浮点数类型的数据在内存中存放的都是有误差的数据,所以不要比较俩个浮点数是否相等;

3.如何使用输入方法:

  import java.util.* ; //在源文件的最上方,类外,导包

  Scanner s=new Scanner(System.in);  //创建对象,一个方法里创建一次即可

  int a=s.nextInt( );  //整数 类型输入

  double b=s.nextDouble( );  //浮点数 类型输入

  String   c=s.nextLine( );    //字符串 类型输入

 

 

博主能力有限,文章若有错误或不当之处,请狠狠打脸博主         (~ ̄(OO) ̄)ブ

 

推荐阅读