java基础1-3周学习总结第一周第二周第三周
第一周
第一周讲了Java的概述,基本特点(Java是跨平台的,安全可靠,面向
对象,有强大的类库支持)以及jdk,jre,jvm各自的作用和他们如何来安装
还有开发工具idea的安装使用
jdk:java的开发工具包,是整个Java的核心。
jre: java程序的运行环境,java运行的所需的类库
jvm:Java虚拟机,用来执行Java字节码文件,Java跨平台特点就是可以再不同的平台装虚拟机运行相同的字节码文件
配置环境变量:可以让jdk\bin目录下的工具,可以在任意目录下运行,方便在cmd下不用切换目录
环境变量的配置: JAVA_HOME=%安装路径%\Java\jdk path=%JAVA_HOME%\bin
classpath的配置:classpath=.;c:;e:
javac命令和java命令:
javac:编译,java:运行。
javac:当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。 生成了jvm可以识别的字节码文件(class文件)
java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行.
一个类需要被单独运行需要加上main函数也是Java主函数他是程序的入口,是被虚拟机调用的
一个简单的Java入门程序:
1
public class Hello {
public static void main(String[] args){
System.out.println(“hello world”);
}
}
第二周
第二周讲了Java编程基础,Java数据类型,常量与变量,以及运算符与表达式
标识符命名规则:
可以由数字、字母、下划线、$符号组成,不能是关键词,不能以数字开头,不限长度
Java8种基本数据类型: byte、short、int、long、float、double、char、boolean
变量声明规则: 变量类型 标示符 = [值];
运算符号:
1)逻辑运算符。
!:true为false,反着的
&: 只有两边都为true结果是true。否则就是false。
|:只要两边都为false结果是false,否则就是true
^:异或
两边结果一样,就为false。
两边结果不一样,就为true.
& :无论左边结果是什么,右边都参与运算。
&&:短路与,如果左边为false,那么右边不参数与运算。
|:无论左边结果是什么,右边都参与运算。
||:短路或,如果左边为true,那么右边不参与运算。(提高效率)
2)、位运算符:用于操作二进制位的运算符。(由于计算机都存的二进制所以效率较高)
<< >>(无符号左右移)
>>>(无符号右移)
3)、Java的基本计算:+(加) -(减) *(乘) /(除)%(取余)
自增+和自增-:
++i 表示i先自身加1,然后在参与运算
i++ 表示i先参与运算,然后在自身加
自增-同理
加号和字符串相加是对字符串进行拼串
比如下面这段代码结果为:1hello
public class Hello {
public static void main(String[] args){
System.out.println(1 + “hello”);
}
}
任何数据类型和字符串相加结果都为字符串类型
Java中数据类型转换:
隐式转换: 系统默认将其转换为我们需要的数据类型;
强制转换:=号两边数据类型不同时,可以通过,前面加(类型)转换
大的向小的转需要强转,反之系统隐式转换
例如:double d = 45.5;int i = (int)d;
三元运算符: x<y?1:2
说明: 如果x小于y结果为true那么值为1否则值为2
代码:
public class Hello {
public static void main(String[] args){
int x = 88;
int y = 45;
int a = x<y?5:6;
System.out.println(a);
}
}
因为x<y为false所以a的值为6
其实就是if else的一种简写形式
第三周
第三周学了Java流程控制语句(分支结构)
if三种结构:
1)单分支
if(条件){}
2)双分支
if(条件){}else{}
3)多分支
if(条件){}else if(条件){}else if(条件){}else{}
public class Hello {
public static void main(String[] args){
int i = 88;
if(i<18) { //为true执行
System.out.println("你未成年");
}else{ //为false执行
System.out.println("你已成年");
}
}
}
列如:
package net.hw.lesson06;
import java.util.Scanner;
public class Example607 {
public static void main(String[] args) {
double score;
String level;
Scanner sc = new Scanner(System.in);
System.out.print("score=");
score = sc.nextDouble();
level = "";
if(score > 100) {
level="超出范围";
}else if(score >= 90 && score <= 100){
level="优秀";
}else if(score >= 80 && score < 90){
level = "良好";
}else if(score >= 70 && score < 80) {
level="中等";
}else if(score >= 60 && score < 70) {
level="及格";
}else if(score >=0 && score < 60){
level="不及格";
}else {
level="超出范围";
}
System.out.println("level="+level);
}
}