本帖最后由 多多呀 于 2019-3-22 15:13 编辑
变量是记录数据的名称 环境是Windows Java严格区分大小写 类名首字母大写Java的书写规范之一
环境变量的临时配置
set命令 set可以显示本机中的所有的环境变量
set path=XXX 修改环境变量(设置完之后只在当前窗口有效,并不会改变电脑本身环境变量设置)(XXX 可以为任意值,可以为空白,空白即为删除)
set path=XXX;%path% 在原有环境变量中新增环境变量,XXX为自己配置的新环境变量
Windows查找路径的时候先查找最前头的路径找到了就执行,所以最好配置在最前头
Java程序开发体验
1、将Java代码编辑到.java文件 javac运行.java文件 javac命令对应编译器
class(定义一个类) Demo(类名)
{
public static void main(String[] args)
{
System.out.println("Hellow World")
}
}
public static void main(String[] args)主函数
1.主函数的出现可以保证一个类的独立运行
2.主函数是程序的入口
3.是被虚拟机所调用的
System.out.println("Hellow World") 输出语句 System系统 out输出 println打印 ()内为打印的内容 其中println 后缀ln作用是在打印数据完成之后会自动提行----E:\Java2018\Day01
8 args arguments 参数
2、通过javac命令将已有的.java文件翻译成运行文件 扩展名为.class 文件名为自己编译的类名
javac **.java
3、通过java命令对生成的.class文件进行运行 java运行.class文件 java命令对应虚拟机
java **.class
classpath环境变量
Java文件是运行文件在哪儿就去哪儿运行
classpaht环境变量的作用就是将Java的运行文件所在的路径告诉系统,虚拟机在执行时就会按照指定的classpaht路径寻找类文件并执行
set classpath=c:\myclass 运行Java程序时虚拟机去c:\myclass寻找类文件 没找到会报错
set classpath=c:\myclass ; 运行Java程序时虚拟机去c:\myclass寻找类文件 没找到会在当前路径下继续寻找一次 没找到才会报错
set classpaht=.;c:\myclass . 表示当前路径 c:\myclass为指定路径
Java语言的基础组成
关键字:被赋予了特殊Java含义的单词,关键字都是小写
标识符:在程序中自定义的一些名称,标识符由26个大小写字母,数字0-9,符号_ $组成
1.数字不可开头
2.不可使用关键字 类名就是一个标识符 函数名称main也是标识符
注释:用于注解说明程序中的文字,可用于程序调试,注释不走编译字节码。
---E:\Java2018\Day03\Xiao.java
/** 文档注释 */ java特有的注释 可以通过javadoc工具提取并生成说明书
多行注释中不能嵌套多行注释
常量:不能改变的数据
负数的二进制表现形式,一个整数的是由4个字节表示的
6 0000-0000 00000-0000 000-0000 0000-0110
变量: 1.内存中的一个存储区域
2.该区域有自己的名称(变量名)和类型(数据类型)
3.该区域的数据可以在同一类型范围内不断变化
变量用于不断存放同一类型的常量,可以重复使用
变量的作用范围(一对{}之间内有效) 整数默认 int 小数默认 double(8个字节)
定义变量的格式:
数据类型 变量名(标识符) = 初始化值(常量值) int x = 3
----E:\Java2018\Day03\VarDemo2、VarDemo
运算符
只要是运算符运算肯定有结果
面试题 ++ (自增:在原有基础上加一再赋给原有变量)----E:\Java2018\Day04\Day04$1.java
赋值运算符 = += -= *= /= int a = 4 a+=2 a=a+2 结果为6 +=为一次运算 底层有强转效果, short a = 3; a+=4其实是等于 s = (short)(s+4); s = s +4;的话 会提示损失精度 因为默认是int类型 short是两个字节。
---E:\Java2018\Day04--Day04$1.java
比较预算符
比较运算符,运算完的结果必须是true或者false
逻辑运算符 2<x<5 java中不能这么表示 2<x&x<5
用于连接两个boolean类型的表达式
|:或 运算规律只要有一边结果为true结果为true,只有同为false结果为false.
&:与 运算特点: true & true = true ; true & false = false ;
false & false = false ; false & true = false;
运算规律只要有一边结果为false结果为false,只有同为true结果为true.
^:异或 运算特点:^符号两边结果相同,false
^符号两边结果不同,true
!:非运算 判断事物的另一面 !true = false !! true = true
面试题 &&:和&运算的结果是一样的,运算过程中有点儿区别,
&无论左边的运算结果是什么右边都参与运算
&&当左边为false的时候,右边不参加运算
||:和| 运算的结果是一样的,运算过程中有点儿区别,
| 无论左边的运算结果是什么右边都参与运算
|| 当左边为true的时候,右边不参加运算
位运算符 用于二进制位运算的符号
二进制位 0为false 1为true & | 运算都是运算二进制 &用来取某个二进制中的某一段 1&0 = 0 ; 1&1 = 1 0^0=0 1^1=0 1^0=1
|运算是保留二进制中的有效位 1为有效位
一个数异或一个数两次,结果还是这个数。 可用于加密 加密是异或一次 解密时再异或一次
位移运算符 { 3<<2 -- 3*2(2)=12 }<<:左移几位其实就是该数乘以2的几次方 <<:可以完 成2的次幂运算
>>:右移几位就是该数据在除以2的几次幂 java的运算自动取整 舍弃小数位及6/4=1
在右移的时候对于高位出现的空位,原来最高位是什么就用什么(0或者1)补位
>>>:无符号右移:与右移的运算方式相同,只是数据在进行右移的时候,高位出现的空位,无论高位是什么,空位都用0补充。
位移运算符都是基于2的倍数的预算
对两个整数的变量进行互换
1.使用第三方变量 (开发时用的方式)
int a = 3; int b = 5; int c ; c = a; a = b; b = c;
2.不使用第三方变量 (不建议使用的方式,如果两个数的数值过大,会超出int范围,会出现强制转换,数据就会发生变化)
a = a + b; // a = 3 + 5;a = 8;
b = a - b; // 3 + 5 - 5 = 3; b = 3;
a = a - b; // 8 - 3 = 5; a = 5;
3.异或运算法 (不建议使用,阅读性较差,适用于面试)
一个数异或一个数两次,结果还是这个数。
a = a ^ b; // a = 3 ^ 5
b = a ^ b; // b = (3 ^ 5)^5 结果 b = 3
a = a ^ b; // a = (3 ^ 5)^3 结果 a = 3
三元运算符 三个元素参与运算的符号
? :
格式 (条件表达式)?表达式1:表达式2 ; 条件表达式的运算结果为true 或者 false
如果运行结果为true 运行表达式1
如果运行结果为false运行表达式2
int x = 3 , y = 4 , z ;//获取两个整数中的较大的整数。
z = (x>y)?x:y //z变量存储的就是两个数的最大数。输出结果为 z=4
int o , p , q ; //获取三个整数中的较大的整数。
int temp = o > p?o : p;
int max = temp > q ? temp : q;
程序的流程控制
if 语句
if语句格式一
if(条件表达式) 条件表达式结果是true或者false 也能只是这两者
{
执行语句;
}
if语句格式二 //三元运算符就是 if else语句的简写格式 b = a > 1?100:200;
int a = 3, b ; //简写格式什么时候用?
if(a>1) //当if else运算后,有一个具体的结果时,可以简化写成三元运算符
{ //简化是有局限性的,是一个运算符,意味着必须有结果
b = 100;
}
else
{
b = 200;
}
if语句格式三
if(a>1) else if 可以有多条
{
b = 100;
}
else if (a>2)
{
b = 200;
}
.....
else
{
b = 300;
}
局部代码块
写到主函数里面的变量都是局部变量
变量使用的注意事项
1.必须有初始化值才能参与运算
2.必须有自己所属的作用域{ }
例子: { //a所属的作用域就是该大括号内,一旦到大括号结束a变量在内存中就会被释放消失掉
//局部代码块可以定义局部变量的生命周期
int a = 3 ;
System.out.println(a+4);
}
System.out.println(a) //该例结果会显示编译错误 a的作用域只在{}内外面无法找到该变量
if语句练习-星期
E:\Java2018\Day04--ifTest
if语句练习-四季
E:\Java2018\Day04--ifTest2 //代码的复用性,当代码的重复性太大的时候记得使用区域
switch(开关、交换)语句
选择结构
switch(表达式)
{
case 取值1: case // 案列 事情 在程序中指备选答案
执行语句;
break; break // 跳出
case 取值2:
执行语句;
break;
case 取值3:
执行语句;
break;
.....
default: //默认 程序指默认的其他情况
执行语句;
break;
}
-----E:\Java2018\Day04--switchDemo
switch 练习
星期和季节
E:\Java2018\Day05--switchTest
if语句和switch语句的区别
if :
1. 对具体的值进行判断
2. 对于区间的判断
3. 对运算结果是boolean类型的表达式进行判断
switch :
1. 对具体的值进行判断
2. 值的个数通常是固定的
对于几个固定的值判断,建议使用用switch语句,因为switch语句会将具体的答案都加 载进内存。
效率相对高一点。
while , do while , for 循环语句 任何语句的结束方式只能有 {} 或者 ;
while(条件表达式) ctrl+c 直接结束控制台的运行,即结束打印
{
执行语句;
}
-----E:\Java2018\Day05---whileDemo
do
{
执行语句;
}
while(条件表达式); // 这里有分号,跟while区分开来
do while 语句的特点:无论条件是否满足,循环体至少执行一次。
------E:\Java2018\Day05---dowhileDemo
for循环
for(初始化表达式;循环条件表达式;循环后的操作表达式) 每个表达式之间用;分开
{
执行语句;(也就是循环体)
}
-----E:\Java2018\Day05---forDemo----forTest
循环结构的使用场景
什么时候使用循环架构?
当对某些代码执行很多次时,使用循环结构完成。
当对一个条件进行一次判断时,可以使用if语句。
当对一个条件进行多次判断时,可以使用while语句。
注意:
在使用循环时,一定要明确哪些语句需要参与循环,哪些不需要。
循环通常情况下,需要定义条件,需要控制次数。
E:\Java2018\Day05----forTest
语句for循环嵌套
E:\Java2018\Day05----forforDemo
forfor循环语句嵌套
1.分析图形的组成
2.不成文规定尖向上改内循环条件表达式,尖朝下改内循环初始化条件表达式 只能用于参考
3.对于第二条也可以使用第三方变量解决 不要局限思想
E:\Java2018\Day05----forforTest2
其他流程控制语句
break:跳出
break作用范围:要么是switch语句,要么是循环语句。
记住:当break单独存在时,下面不要定义其他语句,因为执行不到。
break跳出所在的当前循环。如果出现了循环嵌套,break想要跳出指定的循环,可以通过标记符号来完成
continue:继续 指的是继续循环去
作用的范围:循环结构
continue:结束本次循环,继续下次循环
如果continue单独存在时,下面不要有任何语句,因为执行不到,continue也可以使用标记符号
函数 function
函数在Java中就是定义在类中具有特点功能的一段独立小程序
函数也称为方法
定义函数的格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,....) 参数 参加运算的数据
{
执行语句;
return 返回值;
}
Java是强类型语言,Java语言对每一种数据都进行了具体的划分
名称定义一定要有阅读性
return 还有个作用就是结束函数 即执行到return时函数结束 return下面的语句执行不到
函数底层运算原理
函数的重载
在同一个类中,允许存在一个以上的同名函数,只要他们
函数重载练习
数组
概念:同一种类型数据的集合,其实数组就是一个容器。
数组的好处
给数组中的元素从0开始编号,方便操作这些元素
格式1:
元素类型[] 数组名 = new 元素类型[元素个数或者数组长度];
二维数组
数组中的数组,数组中的元素还是一个数组
构造函数
1.函数名与类名相同
2.不用定义返回值类型
3.没有具体的返回值
作用
给对象初始化
注意
1.默认构造函数的特点
2.多个构造函数是以重载的形式存在的
|
|