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

Java笔记 适合初学者的笔记,真的很适合初学者,超精细呦

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

Java笔记 适合初学者的笔记,真的很适合初学者,超精细呦

我是新出道的小道士,有钱的投个小元宝,没钱的投个人场(帮忙点赞一下,顺路帮忙转发另加关注,非常谢谢),以后我会不定期的更新内容!!!很精细,真的,后期我会不定期的更新,行了不多唠了下面是Java笔记,帮忙点赞才是王道

一、

1、static两个类相互调用 类名.方法名 变量 = new 类名.方法名(); 例如Demo1.Test test1 = new Demo1.Test();

2、还原界面设置:1、打开Eclipse软件。. 2、点击Eclipse上方的【Window】设置。. 3、找到【Perspective】或者【复位透视图】设置。. 4、点击【Reset Perspective】或者【复位】即可重置窗口布局。. 5、也可以通过【Window】设置->【Show view】。. 6、自定义的调整【Console】、【Search】等某些窗口的布局

3、java语句以“;”号终止,分号必须是半角分号 。所有的字符串都是用双引号括起来。

4、public class 和 class的区别:一个java源文件当中可以定义多个class 一个java源文件当中不一定有public的class 一个java源文件当中public的class不是必须的 一个class会定义生成一个xxx.class字节码文件

5、一个合法的标识符只能由“数字、字母、下划线_、美元符号$”组成,不能含有其他符号 不能数字开头 严格区分大小写

6、输入到控制台简称输入信息(1)java.util.Scanner s = new java.util.Scanner(System.in); String x=s.next(); 注:字符型输入 x,s 可以随意字母 int x=s.nextInt(); 注:数值型输入 x,s 可以随意字母 (2)import java.util.Scanner; Scanner ssss= new Scanner(System.in); abc[i]=ssss.nextDouble();

7、switch 语句的语法结构:switch(int或String类型的字面值或变量){ case int或String类型的字面值或变量: java语句; ..................................... break; .................................... default; java语句; ................................... }

8、for语句中条件 :先定义,然后输入范围,最后是。。。。 例如:int i=1;i<=10;i++ 中间用分号隔开

9、do....while循环的语法结构: do{ 循环体; }while(布尔表达式);

10、do....while循环的循环体代码片段执行次数是:1—N次【至少一次】

11、do....while循环语句最终有一个"分号"别丢了

12、break表示循环不执行了;continue表示直接进入下一次循环继续执行

二、方法

一、方法的本质是什么? 方法就是一段代码片段,并且这段代码片段可以完成某个特定的功能,并且可以被重复的使用。 方法,对应的英语单词:Method 方法在C语言中叫做函数Function 方法定义在类体当中,在一个类当中可以定义多个方法,方法编写的位置没有先后顺序,可以随意。 方法体当中不能再定义方法!!!!!!!!!!!!!!!! 方法体由java语句构成,方法体当中的代码遵守自上而下的顺序依次执行 方法怎么定义,语法结构: 【修饰符列表】返回值类型 方法名(形式参数列表){ 方法体; } 对以上的语法结构进行解释说明:

1、关于修饰符列表 可选项,不是必须的 目前统一写成:public static 方法的修饰符列表当中由static关键字的话, -类名.方法名(实际参数列表);

2、返回值类型 *什么是返回值? 一个方法是可以完成某个特定功能的,这个功能结束之后大多数都是需要返回最终执行结果的,执行结果可能是一个具体存在的数据。而这个具体存在的数据就是返回值。

*返回值类型? 返回值是一个具体存在的数据,数据都是由类型的,此处需要指定的是返回值的具体类型。

*返回值类型都可以指定哪些类型呢? Java任意一种类型都可以,包括基本数据类型和所有的引用数据类型。 *也可能这个方法执行结束之后不返回任何数据,Java中规定,当一个方法执行结束之后不返回任何数据的话,返回值类型位置必须编写:void关键字。

*返回值类型若不是void,表示这个方法执行结束之后必须返回一个具体的数值。 当方法执行结束的时候没有返回任何数据的话编译器报错。怎么返回值呢,代码怎么写呢?“return数值;”,并且要求“ 值 ”的数据类型必须和“ 方法的返回值类型 ” 一致。不然编译器报错。

  • 返回值类型是void的时候,在方法体当中不能编写“return 值;”这样的语句。但是要注意可以编写“return;”这样的语句。 *只要带有return关键字的语句执行,return语句所在的方法结束。【不是JVM结束,是所在的方法结束】

  • 3、方法名------------------------------- 只要是合法的标识符就行 方法名最好见名知意 方法名最好是动词 方法名首字母要求小写,后面每个单词首字母大写

  • 4、 形式参数列表:简称形参 *形参是局部变量:int a; double b;float c; String s;........... *形参的个数是:0—N个 *多个形参之间用“逗号”隔开 *形参中起决定性作用的是形参的数据类型,形参的名字就是局部变量的名字。 *方法在调用的时候,实际给这个方法传递的真实数据被称为:实际参数,简称实参 *实参列表和形参列表必须满足: -数量相同 -类型对应相同 例如: 方法定义 public static int sum(int a,int b){ } 方法调用 sum("abc","def");编译器报错 sum(10,"def");编辑器报错 sum(10,20);

  • 5、 方法体必须由大括号括起来,方法体当中的代码有顺序,遵循自上而下的顺序依次执行。并且方法体由Java语句构成,每一个Java语句以“ ; ”结尾 二、 方法怎样调用? 方法只定义不去调用时不会执行的。只有在调用的时候才会执行。 语法规则:《方面的修饰符列表当中由static》 类名.方法名(实参列表);<这是一条Java语句,表示调用某个类的某个方法,传递这样的实参。> 方法体当中的代码是有顺序的,遵循自上而下的顺序依次执行 方法的调用不一定在main方法当中,可以在其他方法当中。 只要是程序可以执行到的位置,都可以调用其他方法。 方法调用的时候实参和形参要求个数对应相同,数据类型对应相同。 类型不同的时候要求能够进行相应的自动类型转换

  • 2.1 方法调用:

  • 1、方法的修饰符列表当中有static关键字,完整的调用方式是:类名.方法名(实参列表); 2、但是、有的时候“类名.”可以省略,什么时候可以省略呢? m1(){ m2();} m1方法和m2方法在同一个类体当中的时候,“类名.”可以省略不写

  • 3、建议在一个Java源文件当中只定义一个class, 2.2 方法的返回值不是void的时候。 1、要求方法必须保证百分百的执行“return 值;”这样的语句来完成值的返回。 没有这个语句编译器会报错。 2、一个方法有返回值的时候,当我们调用这个方法的,方法返回了一个值,对于调用者来说,这个返回值可以选择接收,也可以选择不接收。但是大部分情况下我们都是选择接收的。

  • 3.1 深入 return语句

    • 1 带有return关键字的Java语句只要执行,所在的方法执行结束。

    • 2 在“同一个作用域”当中,return语句下面不能编写任何代码,因为这些代码永远都执行不到。所以编译报错。

  • 3.2 return和break的区别:

    • 在返回值类型是void的方法当中使用“return;”语句。 “return;”语句出现在返回值为void的方法当中主要是为了用来结束当前方法。 而break只是终止那层循环 4.1 方法在执行过程当中,在JVM中的内存是如何分配的呢,内存是如何变化的? 1、方法只定义,不调用,是不会执行的,并且也不会给该方法分配运行所属的内存空间。 只有在调用这个方法的时候,才会动态的给这个方法分配所属的内存空间。

  • 2、在JVM内存划分上有三块主要的内存空间(当然除了这三块之外还有其他的内存空间): *方法区内存 *堆内存 *栈zhan内存

  • 3、关于”栈“数据结构:

  • *栈:stack,是一种数据结构 *数据结构反应的是数据的存储形态。

    • *数据结构是独立的学科,不属于任何编程语言的范畴,只不过在大多数编程语言当中要使用数据结构。

    •  *作为程序员需要提前精通:数据结构+算法【计算机专业必修一门课程】

    • *Java程序员在不精通数据结构和算法的前提下,也可能进行Java开发,因为Java有一套强大的类库支撑,说白了就是别人写好了的,直接用。【Javase当中的集合章节使用了大量的数据结构】

    • *常见的数据结构: -数组 -队列 -栈 -链表 -二叉树 -哈希表/散列表 …………………

  • 4、方法代码片段存在哪里?

    • 方法执行的时候执行过程的内存在哪里分配?

    • *方法代码片段属于.class字节码文件的一部分,字节码文件在类加载的时候,将其放到了方法区当中。所以JVM的三块主要的内存空间中方法区内存最先有数据。存放了代码片段。 *代码片段虽然在方法区内存当中只有一份,但是可以被重复调用。 每一次调用这个方法的时候,需要给该方法分配独立的活动场所,在栈内存中分配。【栈内存中分配方法运行的所属内存空间】 】

    • 5、方法在调用的瞬间,会给该方法分配内存空间,会在栈中发生压栈动作,方法执行结束之后,给该方法分配的内存空间全部释放,此时发生弹栈动作。 *压栈:给方法分配内存 *弹栈:释放该方法的内存空间

    • 6、局部变量在“方法体”中声明。局部变量在运行阶段内存在栈中存储。 注意:在EditPlus当中,字体颜色为红色的表示一个类的名字,并且这个类是JavaSE类库中自带的。 我们自定义的类MethodTest01,字体颜色是黑色,是标识符。 其实JavaSE类库中自带的类,例如:String.class、System.class,这些类的类名也是标识符。 只要是类名就一定是标识符。

    重点:方法调用的时候,在参数传递的时候,实际是传递的是变量中保存的那个“值”传过去了。
4.2方法重载
    前提:功能相似的时候,方法名可以相同。
    但是,功能不同的时候,尽可能让这两个方法的名字不同。
    方法重载的优点:
     调用方法的时候就想在使用一个方法一样。参数的类型不同,对应调用的方法不同。此时区别方法不再依靠方法名了,依靠的是实参的数据类型。
 1、方法重载又被称为:overload
  2、什么时候考虑使用方法重载?
 3、什么条件满足之后构成了方法重载?
        *在同一个类当中
        *方法名不同
        *参数列表不同:
            -数量不同
            -顺序不同
            -类型不同   
 4、方法重载和什么有关系,和什么没有关系?  

5.1 方法递归 关于方法的递归调用 1、什么是递归? 方法自身调用自身。 a(){ a();}

2、递归是很耗费栈内存的,递归算法可以不用的时候尽量别用。

3、以下程序运行的时候发生了这样的一个错误【不是异常,是错误Error】: java.lang.StackOverflowError 栈内存溢出错误 错误发生无法挽回,只有一个结果,就是JVM停止工作。

4、递归必须有结束条件,没有结束条件一定会发生栈内存溢出错误。

5、递归即使有了结束条件,即使结束条件是正确的,也可能会发生栈内存溢出错误。 因为递归的太深了。

    注意:递归可以不使用尽量别用。
    但是有些情况下该功能的实现必须依靠递归。例如:目录拷贝

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

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

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