Java
文章平均质量分 55
黑马Java基础
丿罗小黑
计算机硕士在读
展开
-
为什么java文件名要和类名一致
1.Java保存的文件名必须与类名一致;2.如果文件中只有一个类,文件名必须与类名一致;3.一个Java文件中只能有一个public类;4.如果文件中不止一个类,文件名必须与public类名一致;5.如果文件中不止一个类,而且没有public类,文件名可与任一类名一致。当编写一个Java源代码文件时,此文件通常被称为编译单元(有时也称为转译单元)。每个编译单元都必须要有一个后缀为.java,而在编译单元内测可以 有一个public类,该类的名称必须与文件名称相同(包括大小写,但不包括文件的后缀名.java转载 2022-11-29 20:53:50 · 1299 阅读 · 0 评论 -
java基础学习 day01(cmd命令)
常用的CMD命令盘符名称+冒号盘符切换E:回车,表示切换到E盘dir查看当前路径下的内容,可以显示隐藏内容cd 目录进入单级目录cd codetab可快速关联,相匹配的文件或目录cd …回退到上一级目录cd 目录1\目录2…进入多级目录cd code\day01cd \回退到盘符目录cls清屏exit退出命令提示符窗口,即 CMD界面原创 2022-11-30 14:25:41 · 133 阅读 · 0 评论 -
java基础学习 day02(java环境基础概念,CMD运行java程序)
环境变量可以让我们在任何路径下都能打开指定文件原创 2022-12-01 09:19:20 · 205 阅读 · 0 评论 -
java基础学习 day03(java特性与编译运行方式)
创建一个新的记事本文件,并更改后缀名为.java,用notepad++打开,出现中文乱码。解决方案如下:新建记事本文件,在另存为界面,更改编码方式为ANSI,并更改后缀名为.java,再用notepad++打开文件原创 2022-12-02 13:30:48 · 319 阅读 · 0 评论 -
java基础学习 day04(byte的取值范围原理和制表符关键字概念)
每个类可以有,可以没有main方法。但main方法是一个入口,如果你想执行这个类,可以把这个类设为public,之后在里面写个main方法作为入口。也可以在另一个类里这样操作,再调用这个类。main方法必须写在类里面,程序在运行的时候,第一个执行的为什么byte数据类型的取值范围是-128~127首先byte占一个字节,一个字节为8个bit位,其中最高位表示符号位(0正1负)然后在Java中,采用补码来表示数据的,(正数的补码是本身,负数的补码是原码的符号位不变,各位去反,再+1,原创 2022-12-03 09:11:17 · 205 阅读 · 0 评论 -
java基础学习 day05(变量)
变量:在程序执行过程中,其值可能发生改变的量。变量同时只能存储一个值当某个数据经常发生改变时,我们可以用变量存储,当数据发生变化时,我们只需修改变量里的值即可。数据类型 变量名 = 数据值数据类型:为空间中存储的数据,加入类型限制变量名:为空间起的名字数据值:存在空间里面的数值=:赋值,把右边的数据赋值给左边的变量整数:int 浮点数:double变量的注意事项:变量同时只能存一个值变量名不允许重复定义一条语句可以定义多个变量原创 2022-12-04 09:47:02 · 95 阅读 · 0 评论 -
java基础学习 day06 上(数据存储形式和进制的类型转换)
计算机一般存储三种形式的数据:Text 文本(数字,字母,汉字),Image 图片,Sound 声音在计算机中,任意数据都是以二进制的形式存储的。不同进制在代码中的表现形式: 二进制由0和1组成,代码中以0b开头 十进制由0 ~ 9组成,代码中默认不加前缀 八进制由0 ~ 7组成,代码中以0开头 十六进制由0 ~ 9,a ~ f组成,代码中以0x开头例如:17(十进制的17) 017(八进制的15) 0b123(语法错误,二进制不包含23) 0x123(十六进制的2原创 2022-12-05 12:16:47 · 123 阅读 · 0 评论 -
java基础学习 day06 下(基本数据类型)
Java的数据类型分为两种:基本数据类型,引用数据类型。基本数据类型又分为四类八种:整数:byte(字节型),short(短整型),int(整型),long(长整型)浮点数:float(单精度型),double(双精度型)字符:char(字符型)布尔:boolen(布尔型)byte的取值范围:-128~127整数和小数的取值范围大小关系: double > float > long > int > short > byte注意点:原创 2022-12-05 20:30:12 · 115 阅读 · 0 评论 -
Java中static和final的用法与区别,以及static final的用法
??原创 2022-12-05 21:19:00 · 315 阅读 · 0 评论 -
java基础学习 day07上(标识符)
标识符:就是给类,方法,变量等取的名字。标识符的命名规则(硬性要求):由字母,数字,下划线(_)和美元($)符号组成不能以数字开头不能是关键字区分大小写 * java中的关键字全部小写 * 所以class不能作为标识符,但Class可以标识符的命名建议(软性建议):小驼峰命名法:针对方法,变量 * 标识符的第一个单词的首字母小写,其他单词的首字母大写,其他全部小写,例如:toStudent,getBalance()大驼峰命名法:针对类名 * 标识符的所有单词的首原创 2022-12-06 14:05:26 · 113 阅读 · 0 评论 -
Java中静态的main方法为什么可以调用非静态成员变量?方法之间调用局部变量?
静态方法可以创建动态方法和变量对象属于动态的动态的可以调用动态的。综上:1)在main()方法中,我们可以直接调用main()方法所在类的静态变量或方法。2)但是,在main()方法中,不能直接调用main()方法所在类的非静态变量或方法。必须先创建一个对象实例后,通过对象名.方法 对象名.变量,通过这个对象才能调用类中的非静态变量或方法。原创 2022-12-06 20:30:24 · 2148 阅读 · 1 评论 -
java基础学习 day07下(Scanner,键盘录入)
键盘录入:java帮我们写好的一个类叫Scanner,这个类可以接收键盘输入的数字(目前只考虑键盘输入数字,输入字母,字符串也可以,但是目前的代码不适用)步骤一:导包,告诉这个程序,Scanner类在哪import java.util.Scanner; * 导包的这串代码必须在定义类的上面步骤二:创建对象,表示我开始要用Scanner这个类了。Scanner sc = new Scanner(System.in); * 创建对象的这串代码,只有sc是变量名,可以改变,其他的都不能改变原创 2022-12-07 13:04:24 · 451 阅读 · 0 评论 -
java基础学习 day08(运算符和类型转换)
运算符和表达式运算符:对字面量(常量)或者变量进行操作的符号表达式:用运算符把字面量或者变量连接起来,且符合java语法的式子就可以称之为表达式。原创 2022-12-08 18:52:31 · 162 阅读 · 0 评论 -
java基础学习 day09( + 操作)
字符串的“+”操作,注意点:当“+”操作临近的前后出现字符串时,这个“+”是字符串连接符,而不是算术运算符。他会将前后的数据进行拼接,并产生一个新的字符串。当进行连续“+”操作时,从左到右逐个执行例如:System.out.println(“abc” + true);//“abctrue”此时的true是一个布尔类型的常量值,所以可以直接和abc进行拼接(就相当于数字13)int age = 18;System.out.println(“我的年龄是” + age + “岁”);原创 2022-12-09 14:49:35 · 154 阅读 · 0 评论 -
java基础学习 day10(运算符)
赋值运算符符号作用说明=赋值int a=10,将10赋值给变量a+=加后赋值a+=b,将a+b的值给a-=减后赋值a-=b,将a-b的值给a*=乘后赋值a*=b,将a*b的值给a/=除后赋值a/=b,将a/b的商给a%=取余后赋值a%=b,将a/b的余数给a注意事项:+=,-=,*=,/=,%=隐含了强制类型转换,强转成什么就看左边的变量是什么类型的。例如:short s = 1;s + = 1;//等同于s原创 2022-12-10 13:06:19 · 109 阅读 · 0 评论 -
java基础学习 day11(原码,补码,反码,特殊运算符)
原码:十进制数据的二进制表现形式,最左边是符号位,0为正,1为负。原码的弊端:利用原码进行计算的时候,如果是正数则完全没有问题。但是如果是负数,结果就会出错。实际的运算方向,跟正确的运算方向是相反的。反码:正数的反码是其本身,负数的反码是,其原码的符号位保持不变,其余位取反。反码出现的目的:是为了解决原码不能计算负数而出现的。反码的弊端:负数运算的时候,如果结果不跨0,是没有任何问题的。但如果结果跨0,跟实际结果就会有1的偏差,因为0算了两遍补码:正数的补码是其本身,负数的补码是原创 2022-12-11 20:40:34 · 194 阅读 · 0 评论 -
java基础学习 day12(分支结构)
顺序结构java程序默认的执行流程,按照代码的先后顺序,从上到下依次执行。原创 2022-12-12 20:06:27 · 83 阅读 · 0 评论 -
java基础学习 day13(if)
if语句的第二种格式格式:if (关系表达式){ 语句体1;} else { 语句体2;}执行流程:Ⅰ. 首先计算关系表达式的值Ⅱ. 如果关系表达式的值为true就执行语句体1Ⅲ. 如果关系表达式的值为false就执行语句体2Ⅳ. 继续执行后面的其他语句注意事项:当程序执行过了语句体1,那么他就不会执行语句体2了,此时,整个if语句就直接结束。当程序执行过了语句体2,那么他也不会回到之前执行语句体1,此时,整个if语句也直接结束。原创 2022-12-13 13:30:37 · 59 阅读 · 0 评论 -
java基础学习 day14(switch)
switch语句格式:switch (表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; … default: 语句体n+1; break;}执行流程:Ⅰ. 首先计算表达式的值,得出一个具体的值,并不是一个布尔类型的了。Ⅱ. 依次和case后面的值进行比较,如果匹配上,就会执行相应的语句,在执行的过程中,遇到break就会结束整个switch语句。Ⅲ. 如果所有的case后面的值和表达式原创 2022-12-13 21:01:35 · 141 阅读 · 0 评论 -
java基础学习 day15( for 循环)
什么是循环:重复的做某件事,且具有明确的开始和停止标记循环语句的分类:for,while,do…whilefor循环格式:for(初始化语句;条件判断语句;条件控制语句){ 循环体语句;}执行流程:|. 执行初始化语句Ⅱ. 执行条件判断语句,看其结果是true还是false 如果是false,循环结束 如果是true,执行循环体语句Ⅲ. 执行条件控制语句Ⅳ. 回到Ⅱ继续执行条件判断语句核心: a. 初始化语句只执行一次 b. 判断语句为true,原创 2022-12-15 18:38:22 · 410 阅读 · 0 评论 -
java基础学习 day16( while 循环)
while循环格式:初始化语句;while(条件判断语句){ 循环体语句; 条件控制语句;}核心:a. 初始化语句只执行一次b. 判断语句为true,循环继续c. 判断语句为false,循环结束原创 2022-12-16 18:34:37 · 41 阅读 · 0 评论 -
java基础学习 day17( do while 循环)
乘法的实质为累加运算,减法的实质为累减运算!原创 2022-12-17 15:41:41 · 47 阅读 · 0 评论 -
java基础学习 day18(无限循环与跳转控制语句)
无限循环:循环一直停不下来例如:for(;;){ 语句体;}此时for ()循环里的初始化语句空着不写,表示之前不做任何操作for()循环里中间的条件控制语句空着不写,表示不做任何限制,默认为true,循环一直进行for()循环里后面的条件控制原创 2022-12-18 14:03:06 · 263 阅读 · 0 评论 -
java基础学 day19(Random)
标记在判断一个数是否为质数时,可以定义一个变量表示标记。true表示是质数,false表示不是质数。默认为true,如果能被其他数整除就改为false。原创 2022-12-19 12:48:27 · 88 阅读 · 0 评论 -
java基础学习 day20(数组)
数组:指一种容器,可以用来存储同种数据类型的多个值。(不同种也可以,只要支持隐式类型转换即可)原创 2022-12-19 19:34:16 · 61 阅读 · 0 评论 -
java基础学习 day21(数组的内存原理)
java内存分配栈:方法运行时使用的内存,比如main ()方法运行,进入栈中运行堆:存储对象或者数组,用new关键字来创建的,都存储在堆中方法区(元空间):存储可以运行的.class文件(字节码文件)。当一个类要开始运行时,就会把这个类的字节码文件加载到方法区中,临时存储。本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关寄存器:给cpu使用,和我们开发无关注意:从JDK8开始,取消了方法区,新增元空间,把原来方法区的多种功能进行拆分,有的功能放到了堆中,有的功能放到了元空间原创 2022-12-21 13:31:42 · 114 阅读 · 0 评论 -
java基础学习 day22(方法,return,重载)
方法:是程序中最小的执行单元方法里面的代码,要么全都执行,要么全都不执行原创 2022-12-22 10:18:26 · 104 阅读 · 0 评论 -
java基础学习 day23(方法的内存原理)
方法调用的基本内存原理。原创 2022-12-23 14:21:17 · 152 阅读 · 0 评论 -
java基础学习 day24(快捷键)
方法内部定义的变量,在其他方法中并不能使用,即便是在main()方法里定义的变量,在main()方法调用另一个方法后,这个变量也不能在另一个方法中使用。只有类的成员变量才能在这个类的所有成员方法中使用。ctrl+p:快速展示方法所需的形参原创 2022-12-24 20:51:17 · 981 阅读 · 0 评论 -
为什么int类型可以直接赋值给char类型?
1. 为什么int类型变量不能直接赋值给char类型变量?char a = 97; -->a //为char类型变量 a 赋值常量值 97。char b = ‘a’+3; -->d // 97+3=100,ASCII对应的字符为 d。char c = a+3;原创 2022-12-27 19:55:57 · 2624 阅读 · 0 评论 -
java字符串的拼接
System.out.println(a + b + c + “”); -->234System.out.println("" + a + b + c); -->UGN咦?!第一个输出结果居然是数字,是不是很神奇啊,这是为什么吗?到底发生了什么呀?经过对结果的分析可知:在第一个输出中,前三个字符相加,并不是简单的执行字符和字符之间的连接操作,而是把字符对应的ASCII值相加了起来,最后在和 “” 这个空字符串相加,这时候才是执行的字符串连接的操作,ASCII值变成了字符串,导致最后输出的原创 2022-12-27 20:08:27 · 305 阅读 · 0 评论 -
java基础学习 day25(二维数组)
什么是二维数组:在数组中存放数组二维数组的应用场景:当我们需要把数据分组管理的时候,就需要用二维数组。原创 2022-12-29 13:16:36 · 461 阅读 · 0 评论 -
java基础学习 day26(面向对象)
什么是面向对象:写代码的套路什么是面向对象编程:写代码时,拿对应的东西来做相关的事为什么要用面向对象编程:更符合人类思维逻辑,使编程更简单,更好理解面向对象到底学什么:学习获取已有对象并使用,学习如何自己设计对象并使用。原创 2022-12-30 13:47:42 · 107 阅读 · 0 评论 -
java基础学习 day27(封装,private关键字)
封装:对象代表什么,就得封装对应的数据,并提供数据对应的行为。例如:人关门,有两个对象:人和门,但门具有关上和打开两种状态属性,得提供对应的行为:关上和打开,所以人关门,关这个行为得定义在门对象里。人画圆,有两个对象:人和圆,但圆具有半径这个属性,得提供对应的行为:画圆,所以人画圆,画这个行为得定义在圆这个对象里。原创 2022-12-31 09:00:39 · 135 阅读 · 0 评论 -
java基础学习 day28(就近原则,this关键字,构造方法,标准Javabean类)
1. 成员变量:变量定义在方法外,类里局部变量:变量定义在方法里2. 就近原则:当成员变量名与局部变量名一致时,若使用这个名字,使用的是离这个调用位置最近的变量(如果局部变量离的近就用局部变量,如果成员变量离得近,就用成员变量)。谁离我近,我就用谁。3. this关键字:变量加了this关键字(格式为:this.变量名),表示的是成员变量,用来区分成员变量和局部变量。sout (age); //程序会先去局部位置找age这个局部变量,如果有就直接用,如果没有再去成员变量位置找sout (t原创 2022-12-31 14:12:24 · 561 阅读 · 0 评论 -
java基础学习 day29(对象的内存原理)
创建对象的步骤:a. 加载class文件(字节码文件),到元空间(java7之前叫方法区)b. 声明局部变量,在栈内存中c. 在堆内存中为对象开辟一个空间(因为new关键字)d. 默认初始化,对成员变量进行赋默认值e. 显示初始化,若在类中,声明成员变量的同时进行了赋值,那么会用这个值替换调上一步赋的默认值。f. 构造方法初始化,g. 将堆内存中的对象的地址值赋值给左边的局部变量原创 2023-01-01 11:15:13 · 120 阅读 · 0 评论 -
java基础学习 day30(基本数据类型,引用数据类型,this的本质,成员变量和局部变量的区别)
基本数据类型:数据值是存储在自己的空间中特点:赋值给其他变量,也是赋的真实的值,当改变其中一个变量的值时,并不会影响另一个变量。引用数据类型:数据值是存储在其他空间中,自己空间存储的是地址值。特点:赋值给其他变量,赋的是地址值,当改变其中一个变量所指向的值时,会改变另一个变量所指向的值,因为他们指向的是同一个值。原创 2023-01-02 21:05:15 · 106 阅读 · 0 评论 -
java基础学习 day30(souf,阅读bug)
souf格式:System.out.printf(“%s xxxxxx %s”,xxx);它的参数由两部分组成第一部分参数:为字符串“”,其中字符串里有%s占位第二部分参数为填充的数据,填充第一部分的%ssouf没有换行效果,如果要实现换行,可以用sout来实现,其中sout()括号内可以什么都不写souf()比sout(),更灵活,可以不提前写死原创 2023-01-04 21:01:45 · 405 阅读 · 0 评论 -
java基础学习 day31(字符串,“+”操作,字符串的内存分析)
1. 字符串的“+”操作注意点:当“+”操作临近的前后出现字符串时,这个“+”是字符串连接符,而不是算术运算符。他会将前后的数据进行拼接,并产生一个新的字符串。当进行连续“+”操作时,从左到右逐个执行字符串只有“+”操作例如:System.out.println(“abc” + true);//“abctrue”此时的true是一个布尔类型的常量值,所以可以直接和abc进行拼接(就相当于数字13)int age = 18;System.out.println(“我的年龄是” + a原创 2023-01-10 16:01:46 · 260 阅读 · 0 评论 -
java基础学习 day32(“==”的原理)
1. “==”比的到底是什么?对于基本数据类型,比较的是数据值int a = 10;int b = 20;System.out.println(a == b);//false//20 != 10对于引用数据类型,比较的是地址值String s1 = new String(“abc”);String s2 = new String(“abc”);System.out.println(s1 == s2);//false//每一个new都会新开辟一片空间,所以对应的地址值肯定不同原创 2023-01-11 21:01:50 · 363 阅读 · 1 评论