目录
continue 和 break(continue只是表示跳过并不会直接跳出循环)
一、IT前沿技术
- 云计算,基于大量计算机及网络连接中的集中或分布式的计算和存储。
- 大数据,针对p级以上的数据处理及存储技术。
- 人工智能,利用计算机的算术和逻辑运算能力模拟人的智力的行为。
二、了解Java的基本作用
- 它是一门编程语言,它具有基本的语法要求,提供了53个关键字,它自带虚拟机(JVM),同时提供了大量的api(应用编程接口)。
- 同时它是一种技术栈,具有可供Java项目工程所使用的框架和中间件以及工具等。
- 有专门为Java的后台应用程序所打造的应用服务器。如tomcat
- 用Java所创建的应用项目在互联网上得到了广泛的应用。
三、学习的步骤和内容
- java的基础,建立面向对象的编程思想。
- Java的高级技术,利用一些核心api实现基础及重要的功能。
- 前端技术,利用html,css,javascript语言以及一些框架实现的基本的用户界面。用户界面程序运行在浏览器上。
- 基于应用服务器学习javaWeb的开发技术。(servlet 监听器 过滤器)
- Java基础框架。(ssm springboot )
- 分布式项目开发 。(zookeeper)
- 微服务项目(springcould,dubbo)
环境变量path的作用:
在cmd环境下,用户无论在哪个磁盘路径下,都可以执行path变量所规定路径下的文件或程序!
jdk的结构及其作用
• JDK = JRE + 开发工具集(例如Javac编译工具等)
• JRE = JVM + Java SE标准类库
jdk是Java开发工具包
1、与Java开发相关的工具,包括编译、运行、打包、生成文档、监控等工具,他们存在于bin目录,以exe结尾。
2、与java程序执行相关的环境,jre目录。jre(java运行环境)。Java程序运行的电脑上必须要有jre,否则不能运行。jre主要包含两个部分,一个是jvm,另一个是api的库文件。
《dll动态链接库文件 同jar包 可供调用》
手动写基于jdk的第一个java程序步骤如下:
1.创建文本文件:
驼峰式命名,扩展名为java
2.文本编辑器编写:
在文件中总按照Java类的编码规则写一个简单的Java程序
LInux指令进入目录:
在相应的文件夹下敲cmd可直接进入终端文件夹 !
通过dir命令展示文件目录
3.编译文件
jre环境只能执行字节码文件,需要把上面的源文件(.java)中的源代码用jdk中的编译器
转换为字节码文件(.class)。
采用的工具是Javac.exe
Linux:javac HelloWorld.java
至此编译成功!
4.运行Java程序
采用的工具是Java.exe
Linux:java HelloWorld
总结:Java程序的执行步骤
(1)编写源代码
(2)编译源代码,生成字节码文件。
(3) 执行字节码产生结果。
java语言的基本特征
(1)面向对象,在Java程序中是以类为基本单位的,类需要转化成对象才能执行。
(2)跨平台,同一份字节码文件可以在不同的操作系统下执行,因为不同的操作系统有
不同的jvm,jvm可以把字节码转换为不同操作系统所能够识别的机器码。这是Java与
其他语言显著的区别。
(3)多线程,一个程序可以在多个cpu上同时执行,大大提高了程序的执行效率。
书写Java类文件的基本规则
(1)类名首字母大写,文件名与类名相同
(2)在文件中至少有一个类,如果有多个类,与文件名相同的类必须是public的 ,其他类可以另外命名
(3)要有main方法 程序的入口
(4)项目工程的实现都是通过main来调用其他方法或启动线程来实现的
给电脑配置双环境变量:
安装1.8自动生成 可以删掉 便于切换jdk11版本
C:\Program Files\Common Files\Oracle\Java\javapath
要使用jdk11的时候哦直接把8改成11就ok!
java中的八大基本数据类型
byte类型的表示范围从-128至127 字节类型,表示(一个字节)也就是八位二进制数
short类型的表示范围从-32768至32767 短整型,表示(两个字节)也就是十六位二进制数
int类型的表示范围从-2147483648至2147483647 整形,表示(四个字节)也就是三十二位数 二进制
long类型的表示范围从-9223372036854775808至9223372036854775807 长整形,表示
(八个字节)六十四位二进制数
char 字符类型,用unicode编码表示一个字符,一个字符用两个字节,可以表示65536个字符
float 单精度小数 也称浮点数,它是不精确的,(四个字节)范围:1.4E-45至
3.4028235E38 float的有效数字是6至7位。最好不要超过6位 超过建议用double。
double 双进度小数 也是浮点数,它是不精确的,(八个字节),范围:4.9E-324至 1.7976931348623157E308 范围比flloat大
boolean 布尔型 范围只有 true or flase
BigDecimal 类可解决计算精度问题
Java中的引用数据类型
分为 :类,接口,枚举,注解
string属于Java中的字符串类型,也是一个引用类型,并不属于基本的数据类型。
基本数据类型在程序中的使用
- 直接量 如123,57,‘a',true
- 变量:
它在程序中用来表示一份数据,该数据可以是任何类型
变量有名称 可以为空(null)
float f = 93.435234;//编译错误 因为小数类型默认是double
float f = 93.435234f;//正确写法
byte b =12;//内部隐藏着类型转换 整数类型默认为int
基本数据类型之间的数据转换
Java是强类型的语言 ,在不同的变量之间存在着类型的相互转换。
首先,大家要清楚八个基本数据类型有强弱关系,也就是占据字节数越多(范围越大)的类型越强,反之越弱。
由若到强的的排列如下:
byte short(char) int long float double
float比long强的原因是float就算是四字节 但是小数表示范围比long大 认为float类型比long强。
1.强制类型转换
把强类型转换为弱类型,需要进行强制类型转换 如8字节转4字节 实质会丢失4字节 会造成数据精度丢失造成结果的错误。
int f = 100;
short g;
g=(short)f;
System.out.println(g);//100
int f = 40000;
short g;
g=(short)f;
System.out.println(g);//-25536 结果错误
出现错误是由于40000超过了short的表示范围。强转造成结果错误
字符类型与整形之间可以转换,字符转short需要强转(且结果与Ascii码有关),
转int和long不需要 -------》弱类型转强类型
char i = '5';
int i1 = i;//自动类型转换
System.out.println(i1);//53而不是5
自动类型转换
把弱类型转换为强类型,不会产生结果的错误
i=b;//byte转int
js中===与==的区别
1、===:称为等同符,当两边值的类型相同时,直接比较值,若类型不相同,直接返回false;
2、==:称为等值符,当等号两边的类型相同时,直接比较值是否相等,若不相同,则先转化为类型相同的值,再进行比较;
短路与 && 若左边表达式为假 则右边表达式根本不计算
非短路与& 即使左边表达式为假 右边依然运算
一般编程中使用短路与!!!!
短路或同理:下面例子输出结果不为11而是10
int a =10;
if (a>2||++a>5){//左边直接判断为真
System.out.println("a = " + a);//10
}
流程控制语句
int score = 85;
//条件值大的范围放在最上面
//不用指出每个范围封闭式的判断
if (score>=90){
System.out.println("优秀");
}else if(score>=80){
System.out.println("良好");
}else if (score>=70) {
System.out.println("一般");
}else{
System.out.println("差");
}
switch的流程控制:
int score = 75;
switch (score/10){
case 10:
System.out.println("满分");
//break;
case 9:
System.out.println("优");
// break;
case 8:
System.out.println("良");
// break;
case 7:
System.out.println("一般");
//break;
case 6:
System.out.println("差");
//break;
default:
System.out.println("进厂拧螺丝");
}
若没有break可以看出从符合的地方开始执行直至结束 default中的内容也会执行
关于for的小技巧:
当for中什么都不写时:无限循环!
int i = 0;
for ( ;; ) {
System.out.println("i = " + i);//无限循环输出0
}
while语句 :使用while来控制输出,范围控制,通过变量的范围来控制输出的内容
int n = 0;
while (n < 10) {
System.out.println("n = " + n);
n++;
}
System.out.println("end n = " + n);
}
do while循环
先执行循环体后判断,因此至少会执行一次
int m =0;
do{
System.out.println("m = " + m);
m++;
}while(m<10);
嵌套循环
再循环体中还有循环语句
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 10; j++) {
System.out.print("*");
}
System.out.println();
}
continue 和 break(continue只是表示跳过并不会直接跳出循环)
continue 只能用于循环体中 表示跳过此条循环语句 接着执行下一条
for (int i = 0; i < 10; i++) {
if (i==5){
continue;//跳过5
}else{
System.out.println("i = " + i);
}
}
break可以用于循环体中 表示跳出循环 终止所有循环
类中的属性可以直接在main方法中使用吗?
class Child extends Parent{
int a ;//默认初始值为0
public static void main(String[] args) {
int i;
i=a;//这样赋值是错误的 main方法里面调属性要用对象调 不然找不到非静态变量a 编译错误
}
//但是在方法中这样调是完全OK的
public class Parent {
int a ;
public void methodOne(){
int j ;
j=a;
System.out.println(j);
}
}
关于java中正数和负数的取整操作?
int hg = (int) -10.9;
int gh = (int) 10.9;
System.out.println(hg);
System.out.println(gh);
整体操作都是忽略小数直接取整数!