黑马程序员技术交流社区

标题: 技术贴 [打印本页]

作者: 熊霸    时间: 2019-3-8 15:31
标题: 技术贴
技术贴
计算机的存储单位:位(bit)
字节(Byte)这是数据存储的最小单位
1Byte=8bit,1KB=1024Byte     ,1Mb= 1024  KB,1GB=  1024 MB,1TB=   1024  GB,1PB=    1024 TB...
JDK,JRE,JVM:
JVM:java虚拟机,java代码都是运行在java虚拟机上
JRE:java运行环境   jvm+核心类库
JDK:java开发工具包   JRE+java开发工具
查看jdk版本
java -version
JAVA_HOME   C:\Develop\Java\JDK11
%JAVA_HOME%\bin     相当于
C:\Develop\Java\JDK11\bin、
切换jdk的时候只需要把JAVA_HOME的路径改成你想使用的jdk目录即可。
注释分类
                ①单行注释   
                ②多行注释   
                ③文档注释
示例代码:
public class HelloWorld {
        //main方法,这个是程序执行的入口
        public static void main(String[] args){
                //这是一个输出语句  在小括号中写什么内容就会在控制台输出什么内容
                System.out.println("HelloWorld!!");
        }
}
常量:在程序运行过程中,固定不变的量
分类:
        整数常量          1   2    4222
        浮点数常量      1.0    1.1   
        字符常量(有且仅有一个字符)         'a'   ' '    '你'
        字符串常量     "你好啊"   "我很好"   ""     "a"
        布尔常量       true    false
        空常量          null
数据类型:整数默认是int类型,如果想要表示一个long类型的整数,在值的后面加L(l),浮点数默认是是double类型,如果想表示一个float类型的小数在值的后面加F  (f)。
变量:在程序运行过程中,可以发生改变的量

变量一般是用来存储一些数据
定义格式:
        ① 数据类型 变量名; 变量名 = 值;
        ② 数据类型 变量名 = 值;//推荐
变量的使用格式:直接写变量名。

运算符:①/和数学中的除不太一样.两个整数相除只能得到整数,如果需要得到小数要求至少其中一个数是浮点数.
②%取余  比如10%3结果为1
3.如果+旁边有String参与运算实际进行的是字符串的拼接
4.如果+旁边有char参与运算,会把它转换为对应的数字再计算.
基本赋值运算符:=
        代表将右侧的数据交给左侧的变量.
        例如:
        int a = 30;
a=a+3;
==  比较左右两边是否相等,结果是布尔类型的
<    比较左边是否小于右边,结果是布尔类型
>    比较左边是否大于右边,结果是布尔类型
<= 比较左边是否小于等于右边,结果是布尔类型
>= 比较左边是否大于等于右边,结果是布尔类型
!=  比较左右两边是否不相等,如果不相等结果是true,否则是false
与     &&(短路与)  ,&(没有短路效果)     读成并且    true&&false   true&false   &&和&结果都是一样的
或     ||  ,|           读成或者
非     !          取反   !true结果为false

异或   ^       可以用来判断是否是异性恋
三元运算:格式: 数据类型 变量名= 表达式?表达式1:表达式2;
纯粹的格式: 布尔表达式?表达式1:表达式2;
If表达式:if语句格式:
首先有且仅有一个一个if,后面会有0个到多个else if语句,最后会有0个或1个else
注意:开头肯定是一个if,有可能一个else if都没有,else有可能没有,如果有也只会出现一个else.
循环:格式:
for(初始化语句;条件判断;步进语句){
循环体;
}
执行流程:
先执行初始化语句,然后看条件判断的结果,如果为false  循环结束,如果为true  执行循环体.循环体执行完后执行步进语句.然后继续执行条件判断(PS:注意,不是初始化语句)如果结果为false,结束循环,结果为true则继续循环体,然后步进语句以此类推.
格式:while(判断表达式){
循环体;
        }
执行流程:  看判断表达式的结果,如果为false循环结束,如果为true,则执行循环体.循环体执行完后继续看判断表达式的结果以此类推
格式:do{循环体;}while(判断表达式);   (用到do 循环的情况较少,基本不用)
总结:     如何选择循环语句用的最多的是for循环,如果循环次数已知一般用for.如果循环体和循环次数有关系,也用for循环while循环一般在循环次数未知的情况下使用,或者死循环一般都用while循环do...while循环基本不用
在循环过程中,碰到break整个循环就直接结束了应用场景:break只能出现在循环中或者switch中
如果在循环过程中碰到了continue,则跳过本次循环,继续下次循环
随机数:A.  导入包    import java.util.Random; B.  创建对象   Random r = new Random();  C.  获取随机数  int num = r.nextInt(10);//[0,10)
数组:1.数组的长度一旦确定就不能改变   2.数组中元素的数据类型都是一样的
数组的初始化: 数组的初始化:在内存当中创建一个数组,并且向其中赋予一些默认值。
两种常见的初始化方式:
1. 动态初始化(指定长度)格式:    数据类型[] 数组名 = new 数据类型[长度];
2. 静态初始化(指定内容)格式:    省略格式:(推荐使用)  数据类型[] 数组名 = {元素值1,元素值2,元素值3,...};
2.数组元素的表示方式     数组名[索引]     数组长度:数组名.length
3.数组的遍历     int[] arr={1,2,3,4,5,7};
//遍历输出数组元素
for(int i=0;i<arr.length;i++){
                   System.out.println(arr[i]);
}
方法:
方法的定义格式:
                public static  返回值类型  方法名(参数类型 参数名,参数类型2 参数名2,.....){
                                方法体;
                                return 返回值;
                }
修饰符:目前固定使用public static 返回值 :就这件事情做完之后的结果返回值类型: 这件事情做完后的结果的类型
方法名:这件事情的名字参数:做这件事情需要的东西参数类型  : 参数的数据类型  参数名:就是给参数取的一个名字
return :用来返回最终的结果.  两个作用,第一停止当前方法,第二将后面的返回值还给调用处定义方法三要素:(先把这三个要素分析出来再去定义方法)方法的功能方法的参数方法的返回值类型
方法的调用:
格式:最纯粹的格式:   方法名(参数1,参数2...);注意:传参数的时候方法定义里有几个参数就传几个参数.方法定义的时候参数是什么类型就传什么类型.如果方法有返回值,一般是用接收返回值
方法的重载:  方法重载(Overload)的定义:    在同一个类中,方法名相同,参数列表不同的方法才叫重载
参数列表不同:参数个数不同,参数类型不同,参数的多类型顺序不同如何快速的分辨参数列表是否相同:
把每个参数的数据类型拼接在一起组成一个字符串.比较两个字符串是否相同
注意:看参数列表是否相同的时候和参数名没有关系





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2