2-ts快速学习
接口、类、函数、泛型
1.接口 “:”
接口是一系列抽象方法的声明,是一些方法特征的集合,是为这些类型命名和为你的代码或第三方代码定义契约。
通俗的说定义类型。
1)基本用法
例如,一个函数接收某个对象User作为参数,我们需要描述其类型,但它不是基本类型,这时候就需要用接口interface来描述这个类型。
1 | interface User { |
上面这种写法只检查user的结构及属性的类型(不检查顺序)。
接口、类、函数、泛型
接口是一系列抽象方法的声明,是一些方法特征的集合,是为这些类型命名和为你的代码或第三方代码定义契约。
通俗的说定义类型。
例如,一个函数接收某个对象User作为参数,我们需要描述其类型,但它不是基本类型,这时候就需要用接口interface来描述这个类型。
1 | interface User { |
上面这种写法只检查user的结构及属性的类型(不检查顺序)。
1)安装ts
1 | npm install -g typeScript |
position一共5中定位方式,即static,relative,absolute,fixed,sticky。
static:默认位置,正常流,元素不重叠。
relative:配合top、bottom、left、right,相对该元素默认位置static进行偏移。
absolute:配合top、bottom、left、right,相对于不为static的父级元素。
fixed:配合top、bottom、left、right,相对于视口(viewport,浏览器窗口)。
Java是跨平台语言,运行在虚拟机JVM上,JVM又运行在相应的系统上。
开发我们需要先安装JDK(java delelopment kit),即Java开发工具包,其中包括了JVM,也包括了JRE(java runtime environment)Java运行环境。
JavaSE: 标准版,定义了Java的基本语法。
JavaME:移动版,现已基本不用,用在GPS导航、机顶盒、塞班系统等。
JavaEE: 企业版,如用JavaWeb开发企业级B/S架构应用。
程序需要根据不同的条件去进行不同的流程处理,在程序中我们称之为流程控制。
举例:用户输入4位卡号,每位数字之和大于20,中奖,小于20则不中奖。
语法:
if(判断条件){
//条件成立
}else{
//条件不成立
}
if-esle是Java中最基本的流程控制语句
if后面必须跟(条件)
else后面不能有(),可以直接跟{}
也可以再跟一个if()
else{}可以继续嵌套if语句
1 | // 学校举办运动会,百米赛跑成绩13秒以内有资格进入决赛,根据性别分别进入男子组和女子组。 |
String类型的值比较是否相等
不能用 ==
应该用equals方法进行判断
语法:
switch(要判断的变量){
case 特定值1:
//
case 特定值2:
//
…
}
switch-case和if-else的区别是
switch-case只能处理等值判断,不能处理大于/小于判断
if-else任何判断都可以处理
如果变量满足某个case语句,
则会执行该语句的逻辑代码,同时
该case之后的所有case不再做判断,
统一认为全部满足,逻辑代码都会执行。
如何解决:
在每一个case的逻辑代码结束之后,添加break;
switch支持的数据类型:
int,short,byte,char
枚举类型,String类型 (jdk1.7之后的版本支持)
1 | public class Test4 { |
for
foreach:增强型for循环
while
do-while
for:
for(初始化循环变量;循环条件;更新循环变量){
循环体;
}
while:
初始化循环变量;
while(循环条件){
循环体;
更新循环变量;
}
do-while:
初始化循环变量;
do{
循环体;
更新循环变量;
}while(循环条件);
while循环先判断,再执行。
do-while先执行,再判断。
while有可能一次都不执行。
do-while至少会执行一次。
for适用于次数确定的循环
while,do-while适用于次数不确定的循环
1.初始化循环变量;
2.循环条件;
3.迭代:更新循环变量;
4.循环体;
首先执行初始化循环变量,只执行一次。
判断循环条件是否成立,如果成立,执行循环体,
如果不成立,进行下一次循环,多次执行。
更新循环变量,多次执行。
循环体,多次执行
1 | public class Test5 { |
1 | // 1.循环输入张三考试的五门成绩,分别打印输出,并且计算平均分。 |
1 | // 2.任意输入一个整数:6 |
1 | // 3.打印:如下图形 |
1 | // 4.打印如下图形 |
1 | // 5.打印如下图形 |
1 | // 6.输出9*9乘法口诀表 |
1 | // 7.循环输入张三考试的五门成绩,分别打印输出,并且计算平均分,如果操作不当,输入了负数,停止录入并提示错误。 |
1 | // 8.计算1-10之间的整数之和,如果得到的累加值大于30,则停止循环,返回当前累加值。 |
Java中值不能被修改的变量叫做常量
final float PI = 3.14f;
常量的名称全部大写(非必须的)
+,-,*,/,%:都是需要两个操作数来参与运算
++,--:只需要一个操作数参与运算
++放在操作数左边,表示先执行+1运算,再使用操作数
++放在操作数右边,表示先使用操作数,再执行+1运算。
--同理。
+=,-=,*=,/=,%=,==,!=
等号右边的数据可以自动转为等号左边的数据,完成赋值:
如果等号右边的数据范围小于等号左边,则可以完成自动类型转换。
例如,short赋值给int。
如果等号右边的数据范围大于等号左边,则需要使用强制类型转换。
语法:(要转换的类型)目标值
会造成精度损失,例如int赋值给short。
1 | public class Test { |
让用户通过键盘输入4位数字的卡号,
求出4位卡号的每一个位数上的数字,打印输出,
并且求这4个数字的总和。
包:package
为了区分同名的Java类而存在的
使用工具类Scanner 类,让用户可以通过键盘输入数字,并且让Java程序接收到这个数字。
1 | import java.util.Scanner; |
1.算术运算符
2.赋值运算符 =
3.关系运算符
4.逻辑运算符
5.条件运算符
6.位运算符
判断一个表达式是否成立,结果只有两种:成立/不成立,boolean:true/false
==:判断==两边的操作数是否相等。
!=:判断不相等
只有== !=可以作用于任意的数据类型,其他的关系运算符只能作用于数值类型(整型,浮点型 byte,short,int,long,float,double)
<
=
<=
多个表达式之间的逻辑判断
&:与,&左右两边的表达式必须同时成立,结果为true,否则为false
|:或,|左右两边的表达式只要有一个成立,结果为true,|左右两边的表达式都不成立,结果为false
!:非,!右边的表达式成立,结果为false,!右边的表达式不成立,结果为true
&&:短路与
同&
&&左边的结果为false,则不会执行&&右边的表达式
||:短路或
同|
||左边的结果为true,则不会执行||右边的表达式
语法:
数据类型 变量名 = 条件?数据1:数据2;
规则:条件成立,表达式1的结果赋给变量,
条件不成立,表达式2的结果赋给变量。
任何进制的数通过除以K反向取余将其转化为k进制数。
用数字除以2,求出余数,记做第一位,对商继续除以2,求出余数,记做第二位...
直到商为零。
10:1010
9:1001
17:10001
从右边起,该位的数值乘以该位的权重(2的该位顺序-1次方),依次累加。
1010:10
1001:9
10001:17
&按位与:将两个操作数转为二进制,每一位进行运算,两个数都为1,则该位记为1。
|按位或:将两个操作数转为二进制,每一位进行运算,两个数中有一个为1,则该位记为1。
^按位异或:将两个操作数转为二进制,每一位进行运算,两个数不一样,则该位记为1。
<<左移
a<<b 即a*(2^b)
右移
a>>b 即a/(2^b)
如果参与运算的操作数是表达式,则&,|是与和或
如果参与运算的操作数是数值,则&,|是按位与或按位或
1.文件名与类名必须一致(必须要遵守)
2.类名的首字母大写(非必须)
3.main()是程序的入口,四要素必不可少(必须的)
public static void main(String[] args)
4.{}成对出现,缺一不可(必须的)
5.一行只写一条语句(非必须)
6.代码缩进(非必须)
程序不会加载注释的内容,为了让别人看懂你的代码,相当于我们对
代码的解释。
单行注释//
多行注释/**
/
多行注释/*
*
*
*
*/
println:会自动换行
print:不会自动换行
通过转义字符也可以实现自动换行
\n:自动换行
\t:打印一个制表符,8个空格
计算机中保存数据的地方叫内存,不同的数据存入不同的内存,
彼此之间是相互独立的。
每一块内存都有一个独一无二的地址,程序运行时,通过内存地址找到内存,取出内存中的数据,内存地址是16进制的数据,不方便记忆,怎么解决?
可以通过变量找到内存中的数据。
驼峰式命名法:第一个单词全小写,后续的单词首字母大写。
命名必须有意义,见名知意。
不能使用关键字,public static void等
数值:整型(整数),浮点型(小数)
非数值:字母,单词,汉字,字符。。。
byte(基本单位) 1个字节:8位的二进制数(01010101)
int(整型) 4个字节:32位
short(短整型) 2个字节:16位
long(长整型) 8个字节:64位
float(单精度浮点型)4个字节:32位
double(双精度浮点型)8个字节:64位
char(字符类) 2个字节:16位
boolean(布尔,用来做逻辑判断) 1/8个字节,1位
true 1 / false 0
成立(真) 不成立(假)
4/10 = 2.5
3/10 = 3.3333333333333333333333333333333
无论如何存储,一定存在精度损失
1.声明变量 根据数据类型申请空间
int num;
2.赋值 将数据存储到内存空间
num = 1000;
=是一个赋值运算符,将等号右边的值赋给等号左边
3.使用 通过变量名取出数据
System.out.print(num);