A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Stitch

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© Stitch 初级黑马   /  2019-5-22 14:45  /  680 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

作用及包含关系:
1、JDK:Java程序开发工具包(包含JRE和开发人员使用的工具)
2、JRE:Java运行时的环境(包含JVM和运行时所需的核心类库)
3、JVM:Java虚拟机,Java程序的运行环境,将Java程序在对应系统上进行翻译使用。
JAVA跨平台原理:java编写的软件可以在任何系统中进行运行;特性由JVM实现,Java程序运行在JVM上,JVM运行于操作系统上。

1.程序注释:
单行注释//快捷键:ctrl+/
多行注释(区块注释)/*。。。。*/ 快捷键:ctrl+shift+/
2.类是java当中所有源代码的基本组织单位
   类名与文件同名
3.创建项目:
File-->new-->project-->empty project-->目录位置-->Module新建new Module-->创建模块Module的名字
4.关键字:系统已经定义使用已具有特殊意义的单词
特点:完全小写的字母、在idea中有特殊颜色标记
5.标识符:自己定义的类名、变量名和方法名等。
命名规则:英文字母、数字、$美元符号、_下划线;不能数字开头;不能使用关键字
软性建议:
类名和接口名规范:首字母大写,后面每个单词首字母大写(大驼峰)
变量名和方法名规范:首字母小写,后面每个单词首字母大写(小驼峰)
6.常量:
概念:在程序运行期间固定不会改变的量
分类:字符串常量“”双引号 引导起来的部分为字符串常量
          整型常量:直接写上的数字,没有小数点
          浮点数常量:直接写上的数字,有小数点
          字符常量:用单引号 引导的单个字符
          布尔常量:true和false
          空常量:null,没有任何数据
打印输出:空常量不能直接用来打印出来
数据类型:
基本数据类型:
整数型: byte(1字节)(-128----127);short(2字节);int(4字节);long(8字节)
浮点型: float(4字节);double(8字节)       3.14F变成float类型
字符型(占2字节): char(0----65535)  ASCII表
布尔型(占1字节): boolean
引用数据类型:字符串、数值、类、接口、lambda
注意事项:字符串不是基本类型,而是引用类型
          浮点型可能只是一个近似值,并非精确的值
          数据范围和字节数不一定相关(float数据范围比long更加广泛)
          浮点数中默认类型是double,如果一定要使用float类型,需要加上后F
          整数中默认类型是int,如果一定要使用long类型,需要加上后缀L

7.变量:程序运行期间,内容可以改变的量。
创建一个变量并且使用的格式:
数据类型 变量名称;
变量名称=数据值;将右边的数据值赋值给左边的变量
数据类型 变量名称=数据值;在创建变量的同时立刻放入指定数值
注意事项:
如果创建多个变量,变量名称不可重复;
对于float和long,加F和L;
byte和short类型变量,不要超过数据值范围;
没有赋值的变量,不能直接使用,一定要赋值后再使用。
变量使用不能超过作用域的范围[作用域:从定义变量的一行开始,一直到所属的大括号结束为止];
可以通过一个语句创建多个变量;int a=10,b=20,c=30;

1.数据类型转换:
自动类型转换(隐式):
特点:代码不需要进行特殊处理,自动完成
规则:数据范围从小到大
数据范围排序:byte<short<int<long<float<double
强制类型转换(显式):
特点:代码需要进行特殊的格式处理,不能自动完成
格式:范围小的类型 范围小的变量名=(范围小的类型) 原本范围大的数据
注意事项:
强制类型转换不推荐使用,因为有可能发生精度损失、数据溢出
byte/short/char这三种类型都可以发生数学运算
byte/short/char这三种类型在运算的时候,都会被首先提升为int类型,然后再计算
Boolean类型不能发生数据类型转换

2.ASCII表(数字和字符的对照关系表)
48-->0
65-->A
97-->a
Unicode码表:万国码

3.运算符:不同数据类型进行运算,结果取数据类型最大的类型
加+
减-
乘*
除/——对于一个整数表达式来说,除法用的是整除,整数除以整数,结果仍是整数,只看商,不看余数
取模(余数)%
自增/自减 ++/--
加号的多种用法:1.对于数值来说,就是加法;2.对于字符char类型来说,在计算之前,char会被提升为int,然后再计算;
3.对于字符串String(首字母大写,并不是关键字)来说,加号代表字符串连接操作。
任何数据类型和字符串进行连接时,结构都会变成字符串
System.out.println("坤坤"+null)  输出结果:坤坤null
System.out.print("200+50+"打篮球"+66+6)  输出结果:250打篮球666

自增和自减运算符:
自增运算符 ++:让一个变量涨一个数字1
自减运算符  --:让一个变量将一个数字1
使用格式:卸载变量名称前,或者写在变量名称之后 ++num num++
使用方式:1.不和其他任何操作混合,自己独立一个步骤
          2.混合使用:和其他操作混合使用
使用区别:1.单独使用时,前++和后++没有任何区别
          2.混合使用时,有重大区别。
               A.如果是前++,那么变量立马+1,然后拿着结果进行使用    (先加后用)
               B.如果是后++,首先使用变量本来的数字,然后再让变量+1 (先用后加)
                    int a,b;
                    a=10;
                    b=a++ + ++a +a++(=10+12+12=24;a=13)
注意事项:只有变量才能使用自增或者自减运算符。


4.赋值运算符:基本赋值运算符和复合赋值运算符
等号=
加等于+=:a+=1-->a=a+1
减等于-=: b-=2-->b=b-2
乘等于*=:c*=3-->c=c*3
除等于/=:d/=4-->d=d/4
模等于%=:d%=5-->d=d%5
注意事项:
1.变量才能使用,常量不能
2.复合赋值运算符其中隐含了强制类型转换

5。比较运算符:
等于         ==
小于         <
大于          >
小于等于   <=
大于等于   >=
不等于       !=
注意事项:
1.比较运算符的结果一定是一个boolean值
2.如果进行多次判断,不能连写,分开写

6.逻辑运算符:或与非
与:并且     &&      全部满足为true,否则为false
或:或者      ||         至少一个为true,就是true
非:取反      !          本来是true变成false

短路:
&&,||具有短路效果,如果左边已经可以判断得到最终结果,
那么右边的代码将不再执行,从而节省一定的性能。
注意事项:
1.逻辑运算符只能用于Boolean值
2.与、或需要左右各有一个boolean值,但是取反只要有唯一的一个boolean值即可
3.与、或两种运算符,如果多个条件,可以连续写

7.三元运算符
一元运算符:只需要一个数据就可以进行操作的运算符       例如:取反!、自增、自减
二元运算符:需要两个数据才能进行操作的运算符              例如:加法 、赋值
三元运算符:需要三个数据才可以进行操作的运算符
格式:数据类型 变量名称 = 条件判断?表达式A:表达式B
流程:先判断,条件成立变量执行表达式A;不成立执行B
int max = a > b? a : b ;
注意事项:
1.必须同时保证表达式A和表达式B都符合左侧数据类型的要求。
2.三元运算符的结果必须使用
String str = 11?2==0? 偶数 : 奇数;

一、方法
基本格式:
public static void 方法名称()
{               方法体               }

方法名称命名规则:和变量一样 小驼峰
方法体:大括号当中可以包含任意语句
注意事项:
1.方法定义的先后顺序无所谓
2.方法的定义不能产生嵌套包含关系
3.方法定义好后需要调用才能执行
调用格式:
方法名称();

二、流程控制
1.顺序结构:
开始-->步骤A-->步骤B-->步骤C-->结束

2.判断/选择结构:
if语句:
单if语句:if(关系表达式){语句体;}满足条件就执行,不满足条件就跳过

if...else语句:
if(关系表达式){语句体1;}
else(语句体2;)

扩展的if-else语句:
if(关系表达式1){语句体1}
else if(关系表达式2){语句体2}
.。。。。。
else if(关系表达式n){语句体n}
else{语句体n+1}

三、Switch语句和循环结构:
switch语句格式:
switch(表达式){
case 常量值1:
   语句体1;
   break;
。。。。
case 常量值n:
   语句体n;
   break;
default:
    语句体n+1;
    break;}
switch注意事项:
1.多个case后面数值不能重复
2.switch后面小括号当中只能是这些数据类型:
基本数据类型:byte/short/char/int
引用数据类型:String字符串、enum枚举
3.switch语句格式可以很灵活:前后顺序可以颠倒
4.switch穿透:省略break后匹配哪一个case就从哪一个位置向下执行,直到遇到一个break或者整体结束为止。
  
循环语句:
基本组成部分:
1.初始化语句:循环开始最初执行,而且只做唯一一次
2.条件判断:如果成立,则循环继续;如果不成了,则循环退出
3.循环体:重复做的事情内容。
4.步进语句:每次循环之后都要进行的扫尾工作,每次循环结束之后都要执行一次

for循环:
for(初始化表达式;布尔表达式;步进表达式){循环体}

while循环:
标准格式:
while(条件判断){循环体}
扩展格式:
初始化语句;
while(条件判断)
{循环体;
步进表达式;}

do-while循环:第一次执行无需进行判断,直接执行,从第二次才开始判断
标准格式:
do{循环体}while(条件判断);
扩展格式:
do{循环体;
步进语句}while(判断条件);

三种循环的区别:
1.如果条件判断从来没有满足过,那么for循环和while循环将会执行0次,但是
do-while循环至少执行一次。
2.for循环的变量在小括号中定义,只有在内部才可以使用。while循环和do-while循环初始化语句本来就在外面,
所以出来循环之后还可以继续使用。

break关键字的用法;
1.可以用在switch语句当中,一旦执行,整个switch语句立刻结束
2.还可以再循环语句当中,一旦执行,整个循环语句立刻结束
continue:一旦执行,立刻跳过当前次循环剩余内容,马上开始下一次循环

死循环:
标准格式:while(true){循环体}
for( ; ;){循环体}如果条件空出,则为true

循环嵌套:
求两个数的最大公约数和最小公倍数
求100以内的质数和合数
求1000以内的完数   举例:6的公约数为1,2,3    1+2+3=6

一、Java语言发展史
Sun 1995
javaEE 企业版     主要从事的工作:企业级别的应用 网站 大数据处理
javaSE 标准版本
javaME 嵌入式

二、Java语言跨平台原理:任意操作系统上运行
.class要执行的话 依赖 JVM 虚拟机

*三、JRE和JDK
JRE:java运行环境,包含JVM和运行时所需要的核心库类
运行java程序只需要安装JRE
JDK:java程序开发工具包,包含JRE和开发人员使用的工具
jdk:
bin文件:存放JDK的各种工具命令。java和javac就放在这个目录

四、常用DOS命令
win+R---->cmd---->enter
盘符命令:盘符:
dir:查看路径下内容
cd 目录:进入目录
..:上一级目录
\:根目录
cls:清屏
exit:退出命令提示符窗口

五、Path环境变量配置:
电脑--->属性--->高级系统设置;高级;环境变量;
系统变量新建;JAVA_HOME;变量值;Path
为什么配置环境变量:为了在电脑的任意目录下都可以对java代码进行编译和运行
java -version  :查看java版本

编译:javac 文件名.java
运行:java   类名
win+E 直接打开我的电脑

六、BUG
BUG的解决:1、具备识别BUG的能力 多看;
具备分析BUG的能力 多思考多查阅资料;3、

七、注释:解释说明的代码的功能;不参与程序的运行
注释概述:
分类:单行注释(//);多行注释(/* */);文档注释(/**注释信息*/)

八、关键字:已经被Java使用的个别的有特殊含义的英语单词;关键字的字母全是小写;
常用的代码编辑器针对关键字有特殊的颜色标记。

九、
常量:在程序运行过程中,不会发生改变的量
字符串常量;整数常量;小数常量;字符常量;布尔常量;空常量(空常量不能直接输出)

十、数据类型:基本数据类型和引用数值类型
整数类型:byte(1)(-128-127);short(2);int(4)(21亿);long(8)
浮点型:float(4);double(8)
字符:char(2)(0-65535)
布尔;boolean(1)

十一、变量:在程序运行过程中,其值可以发生改变的量
变量名
数据类型
变量值
格式:数据类型 变量名=变量值;
变量的使用:
1.变量名不能重复;
2.使用变量前一定要给变量赋值;

十二、标识符:给类方法起名的符号
由数字、字母、下划线、美元符组成
不能数字开头
不是关键字
区分大小写
常见命令约定:
小驼峰式:变量 ;方法
大驼峰式:类名;接口

一、Scanner
1、导包 import java.util.Scanner;
2、创建对象:Scanner sc = new Scanner(System.in);
3、接收数据:int i=sc.nextInt();
                      String str=sc.nextLine

二、switch语句
switch(表达式/变量){
case 值1:
语句体1;
break;
。。。。
default:
语句体 n;
break;
}
去除break会引发穿透
switch+(byte/short/int/char/枚举/string)

三、for循环
for( 初始化语句;条件判断语句 ; 步进语句(条件控制语句)){循环体语句;}
统计:int count;每次循环count++

四、while循环
格式:
初始化语句
while(条件判断语句)
{循环体语句;
步进语句;}
while结合计数器:

五、do-while循环
初始化语句;
do{
循环体语句;
步进语句;}while(条件判断语句);

六、死循环
for:for(;;){循环体语句}
while:while(true){循环体语句}
do-while:do{循环体语句}while(true);

七、跳转控制语句
continue:跳过当前循环内容,直接执行下一次循环
break:中止执行循环操作

八、循环嵌套

九、随机数
Random
作用:产生一个随机数
使用步骤:
导包:import java.util.Random
创建对象:Random r=new Random();
获取:int number=r.nextInt(10);  获取[0-10)的随机数

一、IDEA
区分idea项目和Modules模块:
1、进文件夹能看见能够看到 .idea文件夹 out文件夹就是idea项目
2、里面由src文件和.iml文件组成为模块
项目--包含-->模块--包含-->包

快捷键:
格式化:ctrl +alt+l
补全:ctrl+alt+空格

二、数组
格式:
1.数据类型[] 变量名
          int[]arr
2.数据类型    变量名[]
  int  arr[]
索引:数组内部保存数据的访问方式
Java中的数组必须先初始化,然后才能使用
初始化:为数组中的数组元素分配内存空间,并为每个数赋值

动态初始化:初始化时只指定数组长度,由系统为数组分配初始值
格式:数据类型[] 变量名=new 数据类型[数组长度]
int[] a=new int[10];
new:代表一个新的对象(在内存里面 申请一个新的空间 保存数据)
数组初始化时,会为存储空间添加默认值:
整数:默认值0
浮点数:默认值0.0
布尔值:默认值为false
字符:默认是空字符
引用数据类型:默认值是null

静态初始化:初始化时指定每个数组元素的初始值,由系统决定长度
格式:数据类型[] 变量名=new 数据类型[]{数据1,数据2,...,};
范例:int[] a=new int[]{1,2,3};
内存:
硬盘     内存          缓存(寄存器  CPU)
栈区Stack:1.存储的都是局部变量
          2.方法执行的时候都会进栈执行
堆区Heap:
new出来的东西都在堆区
方法区:
加载字节码文件
本地方法栈
强引用:指针
弱引用
寄存器

异常:空指针异常;索引越界异常。
快捷键 arr.fori
遍历:将数组中的值按顺序输出

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马