Day01笔记
1.Java语言的由来
Java之父——[詹姆斯·高斯林]创立了Java编程语言(开发这种语言的团队再一次喝Java咖啡的过程中有人提出的这个名字)
1.Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言。
1995年推出 Jdk1.0之后经过多次更新到Jdk1.6版本
2009年Oracle甲骨文公司收购Sun公司,并于2011发布Java 1.7版本
至今2018年更新到Jdk11.0。
2.计算机的基础知识
1.二进制与十进制的转化
计算机中的数据不同于人们生活中的数据,人们生活采用十进制数,而计算机中全部采用二进制数表示,它只包含 0、1两个数,逢二进一,1+1=10。每一个0或者每一个1,叫做一个bit(比特)。
生活中十进制
1+1=2
计算机二进制
1+1=10
十进制转化为二进制:除2取余法,余数倒着写
二进制转化为十进制:使用8421编码的方式
2.字节
8 bit = 1 B
1024 B =1 KB
1024 KB =1 MB
1024 MB =1 GB
1024 GB = 1 TB
1024 TB=1 PB
3.常用Dos命令
cmd----打开dos窗口
d:------切换盘符
切换文件夹,首先切换盘符,然后cd +文件夹完整路径
cd..退出当前最内部文件夹
cd \ 退出到盘根目录
cls 清屏
public void static main(String[] args){
}
3.java语言的常量变量
3.1常量
3.1.1常量的概述
常量:是指在Java程序中固定不变的数据
3.1.2常量的分类
分为整数常量,小数常量,布尔常量,字符常量,字符串常量,空常量null
3.2变量
3.2.1变量的概述
常量是固定不变的数据,那么在程序中可以变化的量称为变量
Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型
3.2.2变量的定义
数据类型 变量名=数值;
也可以数据类型前加上某些修饰符,全局变量定义时可以不用初始化;
long类型:建议数据后加L表示。
float类型:建议数据后加F表示。
变量名称:在同一个大括号范围内,变量的名字不可以相同。
变量赋值:定义的变量,不赋值不能使用。
4.Java语言的四类八种基本数据类型
4.1数据类型分类
Java的数据类型分为两大类:
基本数据类型:包括 整数 、 浮点数 、 字符 、 布尔 。
引用数据类型:包括 类 、 数组 、 接口 。
4.3基本数据类型
字节型 byte 1个字节 -128~127
短整型 short 2个字节 -32768~32767
整型 int(默认) 4个字节 -2 31次方~2的31次方-1
长整型 long 8个字节 -2的63次方~2的63次方-1
单精度浮点数 float 4个字节 1.4013E-45~3.4028E+38
双精度浮点数 double(默认) 8个字节 4.9E-324~1.7977E+308
字符型 char 2个字节 0-65535
布尔类型 boolean 1个字节 true,false
5.Java的自动转型和强制转型
5.1自动转型
Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。
在做数值运算时,字节数小的会直接被在前面自动加上0,成为相同类型时进行运算,得到的结果也会是字节数大的值。 将 取值范围小的类型 自动提升为 取值范围大的类型
转换规则:
范围小的类型向范围大的类型提升, byte、short、char-->int-->float-->double
5.2强制转换类型
将 取值范围大的类型 强制转换成 取值范围小的类型 。比较而言,自动转换是Java自动执行的,而强制转换需要我们自己手动执行。
5.2.2转换规则
数据类型 变量名 = (数据类型)被转数据值;
public static void main(String[] args) {
//short类型变量,内存中2个字节
short s = 1;
/*
出现编译失败
s和1做运算的时候,1是int类型,s会被提升为int类型
s+1后的结果是int类型,将结果在赋值会short类型时发生错误
short内存2个字节,int类型4个字节
必须将int强制转成short才能完成赋值 */
s = s + 1;//编译失败
s = (short)(s+1);//编译成功 }
6.ASCll码用来表示字符
在计算机的内部都是二进制的0、1数据。
编码表 :就是将人类的文字和一个十进制数进行对应起来组成一张表格。// 定义s为short范围内最大值
short s = 32767;
// 运算后,强制转换,砍掉2个字节后会出现不确定的结果
s = (short)(s + 10);
public static void main(String[] args) {
//字符类型变量
char c = 'a';
int i = 1;
//字符类型和int类型计算
System.out.println(c+i);//输出结果是98 }
字符 数值0 489 57A 65Z 90a 97z 122人们就规定:将所有的英文字母,数字,符号都和十进制进行了对应,因此产生了世界上第一张编码表ASCII(
7.算术运算符
算数运算符包括: +, -, * , %, /, ++,--
注意:++a和a++的区别
//和其他变量放在一起, 前++ 和 后++ 就产生了不同。 变量 前++
变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2。
public static void main(String[] args) {
int a = 1;
int b = ++a;
System.out.println(a);//计算结果是2
System.out.println(b);//计算结果是2 }
//变量 后++ :变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加1。a的结果是2,b 的结果是1
public static void main(String[] args) {
int a = 1;
int b = a++;
System.out.println(a);//计算结果是2
System.out.println(b);//计算结果是1 }
8.赋值运算符
赋值运算符,就是将符号右边的值,赋给左边的变量
=, +=, -= *= %= /=
9.比较运算符
== <= >= > < !=
比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值 true 或者 false
10.逻辑运算符
10.1 普通与& 短路与&& 普通或| 短路与|| 非 !
一般只用短路与&&和短路或||非!
普通与和短路与的区别在于,节约资源,当第一个逻辑表达式是false时,后面不管有多少个true,输出结果都是false,但是在这里普通与会将第一个后面所有的逻辑表达式运算完才会做出判断,而短路与只要在第一个能做出判断的条件下便不会再往下执行逻辑语句。
普通或与短路或也类似,短路或只要第一个表达式为true时,后面不管有多少个false都见不会再执行,就算是有异常也不会报错。
逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false。
10.2 位运算
public static void main(String [] args){
int x=19;
int y=9;
/**
*转化为二进制数进行或与运算得到结果
0000000000010011
0000000000001001
*/
System.out.println(x|y);//27
}
面试题:请解释 普通与& 短路与&& 普通或| 短路与|| 之间的关系
在逻辑运算中:
与操作表示若干条件要同时返回true时,结果才是true,分为两种
“&”:所有的判断条件都要进行判断,不管前面的判断结果是什么,
"&&":在进行条件判断时,如果前面的条件返回了false,后面的条件将不会执行,直接返回false
或操作表示判断的若干条件返回一个true,结果就是true,全为false,才返回false
"|":所有的判断条件都要进行判断
“||’:在进行若干个条件判断时,如果前面有条件返回为true,后面将不会执行,直接返回true。
在位运算中:
”&“:表示进行位与操作,位与操作中有两个内容为1结果才是1,有一个结果为0,结果为0.
”|“:表示进行位或操作,位或操作中有两个内容中只要有一个为1,结果为1,只有两个为0,结果为0.
11.三元运算符
布尔表达式?表达式一:表达式二
如果布尔表达式是true执行表达式一。反之则执行表达式二
12.jdk9.0新特性
jdk9.0.4下的bin目录下输入cmd,再输入jshell可以输入单行执行的代码
13.java方法的调用和使用
1.方法的定义
权限修饰符 返回值类型 方法名(参数类型 a,参数类型 b){}
Public static String show(String [] args){
方法体
返回值
}
1.void无返回值
2.不管return后面是什么语句都将不会执行
3.如果是void类型得,可以省略或者是直接写return;是其他类型的,必须再return后面加入返回值。
4.如果主方法里的代码太多,可以将一些代码块封装成一个新的方法进行调用
2.方法的重载
1.重载的定义
指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返 回值类型无关。
参数列表:个数不同,数据类型不同,顺序不同。
重载方法调用:JVM通过方法的参数列表,调用不同的方法。
2.重载的实例代码
public class Method_Demo6 {
public static void main(String[] args) {
//定义不同数据类型的变量
byte a = 10;
byte b = 20;
short c = 10;
short d = 20;
int e = 10;
int f = 10;
long g = 10;
long h = 20;
// 调用
System.out.println(compare(a, b));
System.out.println(compare(c, d));
System.out.println(compare(e, f));
System.out.println(compare(g, h));
}
// 两个byte类型的
public static boolean compare(byte a, byte b) {
System.out.println("byte");
return a == b; }
// 两个short类型的
public static boolean compare(short a, short b) {
System.out.println("short");
return a == b; }
// 两个int类型的
public static boolean compare(int a, int b) {
System.out.println("int");
return a == b; }
// 两个long类型的
public static boolean compare(long a, long b) {
System.out.println("long");
return a == b;
}
3.方法的递归调用
方法调用的三种形式
1.直接调用:直接用方法名()调用方法
public static static void main(String [] args){
print();
}
public static void print(){
System.out.println("方法被调用");
}
2.赋值调用: 调用方法, 在代码快前定义变量,接受方法返回值,
public static void main(String[] args) {
int sum = getSum(5,6);
System.out.println(sum);
}
public static int getSum(int a,int b) {
return a + b;
}
3.输出语句调用:在输出语句中调用方法, System.out.println(方法名())
public static void main(String[] args) {
System.out.println(printHello());// 错误,不能输出语句调用void类型方法
}
public static void printHello() {
System.out.println("Hello");
}
14.学习Java要养成写博客的习惯,可以帮助就业还可以变现
简书 typore
网友评论