语言基础第一二天

这篇内容详细介绍了Java语言的基础知识,包括课程阶段划分、JVM与JRE、JDK的区别,IDEA的使用,以及Java开发环境的设置。讲解了变量的声明、初始化和使用,命名规则,八种基本数据类型的特点和转换规则,同时提供了实例代码展示。内容涵盖数据类型的运算、溢出和精度问题,以及类型转换的注意事项。
摘要由CSDN通过智能技术生成

 语言基础第一天:


一、Java共几个阶段课程?

1、

①语言基础(讲语法规则、规定;要求背下来)+面向对象(讲设计思想、思路;需要理解)18天

②API进阶 18天

③web+数据库+springMVC         18天

④spring高级+框架+互联网架构  18天

⑤互联网架构 18天

⑥就业冲刺 10天

二、第一个阶段的课程

1. 所负责的模块

   - 语言基础:讲6天,讲语法规则、规定-------背下来,不需要理解(多练)
   - 面向对象:讲9天,讲设计思想、思路-------需要理解(多练、多想)
   - API入门:讲2天,讲常用的工具----------------背下来,不需要理解(多练)
   - 二进制:讲1天,为了后期API进阶做准备----尽量多的去掌握

2、学习java的窍门:

   - 多练
   - 多想

3、下载和安装jdk和idea

①下载:

     - 打开浏览器,地址栏中输入doc.canglaoshi.org,回车
     - 找到常用下载,找到Windows/Mac ARM/Mac Intel必备,下载里面的OpenJDK 8和IDEA社区版

②安装:

     - JDK:一路下一步,尽量装在C盘下,不要用中文名称

       注意:装好之后不要企图去运行它-------它相当于车的油

     - IDEA:一路下一步,在create desktop shortcut处将64-bit launcher打勾,以创建桌面快捷方式

4、下载每日内容:

   - 打开浏览器,在地址栏中输入doc.canglaoshi.org/tts,回车
   - 找到cgb2112,找到01_语言基础,找到day01,下载里面的压缩包

*三、笔记

1、

①Java开发环境:编译运行过程:

     - 编译期:.java源文件,经过编译,生成.class字节码文件
     - 运行期:JVM加载.class并运行.class(0和1)

> 特点:跨平台、一次编译到处使用

              跨平台如何实现?

               在各个系统中,仅安装JVM即可虚拟机即可在各个系统均可使用。

 ②名词解释:

     - JVM:java虚拟机

       ​          加载.class并运行.class

     - JRE:java运行环境

       ​         除了包含JVM以外还包含了运行java程序所必须的环境

       ​         JRE = JVM+java系统类库(小零件)

     - JDK:java开发工具包

       ​          除了包含JRE以外还包含了开发java程序所必须的命令工具

       ​          JDK = JRE(包含JVM)+编译、运行等命令工具

                         =JRE+开发需要的工具

     > 说明:
     > 1. 运行java程序的最小环境JRE(单纯运行的时候只装JRE就行)
     > 2. 开发java程序的最小环境JDK(单纯开发的时候只装JDK就行)

2.

(1)IDEA:开发工具。 JetBrains公司的,分为社区版(免费的)和终级版(收费的)

   - 开发步骤三步走:

      ①新建Java项目/工程-------------------------小区

      ②新建Java包-----------------------------------楼+单元

      ③新建Java类-----------------------------------房子

       main中:System.out.println("hello world");

(2)

①打开idea→File→New→projet→next→next→项目名cgb2112、路径→src→New→package→包名(day01)→此时出现包名→右键day01→New→Java class(类)→类名(HelloWorld),回车

     运行HelloWorld代码如下:

       ```java
       package day01; //声明包day01(楼+单元)
       public class HelloWorld { //声明类HelloWorld(房子)
           //主方法,为程序的入口(大门口),程序的执行从main开始,main结束则程序结束
           public static void main(String[] args) {
               //输出hello world
               //1)严格区分大小写
               //2)所有符号必须是英文模式的
               //3)每句话必须以分号结尾
               System.out.println("hello world"); //双引号中的原样输出
               System.out.println("欢迎大家来到达内");
           }
       }
       ```

   - 注释:解释性文本(计算机不执行)

     - 单行注释://
     - 多行注释:/*    */--------------------明天用
     - 文档注释:/**     */------------------API入门时讲

②此时点击空格处“右键执行Run”或右上角绿色三角运行即可。

(3)

①如果之前创建过项目,在这个文件打开的基础上,

点击File→New→projet→next→next→项目名cgb2112、路径,则会出现以下该提示:

This windows:关闭之前的,打开现在的。若选择这个,之前的文件需要从File→open中打开。

New windows:和现在这个同时运行。 如下:

 ②若此时新建的 .java文件出现左下角显示“J”图标,是属于idea中其他操作导入模块:

:有两种解决方案:1)和 2),建议用1)。

1)首先找到带J图标的源文件,按住ctrl+c复制到idea中你放到的包文件夹下即可。:

.

2)解决方案:在File中点击Project Structuere项目结构,或快捷键Ctrl + Alt + Shift + S

 接下来如图: 红色部分Content Root(添加内容根目录)去掉 , 重新添加新的 Content Root

 成功!!!

补充:明天会用到的英文单词,明天我说的时候得认识,能背下来最好

Java
1.单词:
  1)int:整型
  2)long:长整型
  3)double:浮点型
  4)boolean:布尔型
  5)char:字符型
  6)true:真 
  7)false:假
  8)unicode:统一码、通用码、万国码
  9)age:年龄
  10)score:成绩
  11)demo:例子
  12)var:变量
  13)data:数据
  14)type:类型
2.换算:
  1G=1024M(兆)
  1M=1024KB(千字节)
  1KB=1024B(字节)
  1B=8bit(位)

 语言基础第二天:

回顾:
1.java开发环境:
编译运行过程:

编译期:.java源文件,经过编译,生成.class字节码文件

运行期:JVM加载并运行.class(0和1)

跨平台、一次编程到处使用

名词:

JVM: java虚拟机 加载并运行.class

JRE: java运行环境 JRE=JVM+java系统类库(小零件)

JDK: java开发工具包 JDK=JRE+开发工具

2.idea:
开发步骤:

新建Java项目----------------小区

新建Java包-------------------楼+单元

新建Java类-------------------房子    main:System.out.println("hello world");

注释:解释性文本

单行://

多行:/* */

文档:/** */----------------API讲

笔记:

1、变量-----声明、初始化、使用
1.声明:-------------相当于在银行开帐户
int a; //声明一个整型的变量,名为a
int b,c,d; //声明三个整型的变量,名为b,c,d
//int a; //编译错误,变量不能同名
 
2.初始化:第一次赋值---------相当于给帐户存钱
int a = 250; //声明整型变量a并赋值为250
int b;   //声明整型变量b
b = 250; //给变量b赋值为250
b = 360; //修改变量b的值为360
int c=5,d=10; //声明两个整型变量c和d,并分别赋值为5和10
 
 
3.使用:---------使用的是帐户里面的钱
  :对变量的使用就是对它所存的那个数的使用
int a = 5;
int b = a+10; //取出a的值5,加10后,再赋值给变量b
System.out.println(b);   //输出变量b的值15
System.out.println("b"); //输出b,双引号中的原样输出
a = a+10; //在a本身基础之上增10
int c = 5000; //帐户余额
c = c-1000; //取款1000
 
4.变量在用之前必须声明并初始化
//System.out.println(m); //编译错误,变量m未声明
int m;
//System.out.println(m); //编译错误,变量m未初始化


2、变量的命名规则:
只能包含字母、数字、_和$符,并且不能以数字开头
严格区分大小写
不能使用关键字
允许中文命名,但不建议,建议"英文的见名知意"、"小驼峰命名法"
例:

int a_5$,_3c,$_;
//int a*b; //编译错误,不能包含*号等特殊符号
//int 1a; //编译错误,不能以数字开头
int aa = 5;
//System.out.println(aA); //编译错误,严格区分大小写
//int class; //编译错误,不能使用关键字

int 年龄; //允许,但不建议
int age; //建议"英文见名知意"
int score,myScore,myJavaScore; //建议"小驼峰命名法"

3、八种基本数据类型:byte,short,int,long,float,double,boolean,char
(1)int:整型,4个字节,-21个多亿到21个多亿

整数直接量默认为int类型,但不能超范围,若超范围则发生编译错误
两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
整数运算时,若超出int范围则发生溢出(溢出不是错误,但需要避免)
//1)int:整型,4个字节,-21个多亿到21个多亿
int a = 25; //25称为整数直接量,默认int类型
//int b = 10000000000; //编译错误,100亿默认为int类型,但超出int范围了
//int c = 3.14; //编译错误,整型变量中只能装整数
System.out.println(5/2); //2
System.out.println(2/5); //0
System.out.println(5/2.0); //2.5
int d = 2147483647; //int的最大值
d = d+1;
System.out.println(d); //-2147483648(int最小值),发生溢出了,溢出是需要避免的

(2)long:长整型,8个字节,很大很大很大

长整型直接量需在数字后加L或l
运算时若有可能溢出,建议在第1个数字后加L
//2)long:长整型,8个字节,很大很大很大
long a = 25L; //25L为长整型直接量
//long b = 10000000000; //编译错误,100亿默认为int类型,但超出int范围了
long c = 10000000000L; //100L为长整型直接量
//long d = 3.14; //编译错误,长整型变量只能装整数

//运算时若有可能溢出,建议在第1个数字后加L
long e = 1000000000*2*10L;
System.out.println(e); //200亿
long f = 1000000000*3*10L;
System.out.println(f); //不是300亿
long g = 1000000000L*3*10;
System.out.println(g); //300亿

(3)double:浮点型,8个字节,很大很大很大

浮点数直接量默认为double型,若想表示float需在数字后加F或f
double与float型数据参与运算时,有可能会出现舍入误差,精确场合不能使用
//3)double:浮点型,8个字节,很大很大很大
double a = 3.14; //3.14为浮点数直接量,默认double型
float b = 3.14F; //3.14F为float型直接量
double c = 1234000000000000000000000000000000.0;
System.out.println(c);//1.234E33,科学计数法表示,相当于1.234*(10的33次幂)

double d=3.0,e=2.9;
System.out.println(d-e);//0.10000000000000009,有可能会发生舍入误差,精确场合不能使用

(4)boolean:布尔型,1个字节

只能赋值为true或false
//4)boolean:布尔型,1个字节
boolean a = true;  //true为布尔型直接量-----真
boolean b = false; //false为布尔型直接量----假
//boolean c = 250; //编译错误,布尔型只能赋值为true或false

(5)char:字符型,2个字节

采用Unicode字符集编码格式,一个字符对应一个码
表现的形式是字符char,但本质上是码int(0到65535之间)
ASCII码:'a'---97 'A'---65 '0'---48
字符型直接量必须放在单引号中,并且只能有1个
特殊符号需通过\来转义
//5)char:字符型,2个字节
char c1 = '女'; //字符女
char c2 = 'f';  //字符f
char c3 = '6';  //字符6
char c4 = ' ';  //空格符
//char c5 = 女; //编译错误,字符型直接量必须放在单引号中
//char c6 = ''; //编译错误,必须有字符
//char c7 = '女性'; //编译错误,只能有1个字符
 
char c8 = 65; //0到65535之间
System.out.println(c8); //println输出时会依据c8的数据类型显示
//若c8为char型,则显示字符
//若c8为int型,则显示数字
char c9 = '\\';
System.out.println(c9); //\
 
char c10 = 0;
System.out.println(c10);//打印出特殊符号:长方形里边一个斜杠
char c11 = 'A';
System.out.println((int)c11);//65
char c12 = 'a';
System.out.println((int)c12);//97
char c13 = '0';
System.out.println((int)c13);//48


4、类型间的转换:
(1)基本类型由小到大依次为:

byte----short----int----long----float----double
         ||   
        char-----
(2)两种方式:

自动/隐式类型转换:小类型到大类型
强制类型转换:大类型到小类型
语法:(要转换成为的数据类型)变量
强转有可能溢出或丢失精度
//类型间的转换:
int a = 5;
long b = a; //自动类型转换
int c = (int)b; //强制类型转换
 
long d = 5;   //自动类型转换
double e = 5; //自动类型转换
 
long f = 10000000000L;
int g = (int)f; //强制类型转换
System.out.println(g); //1410065408,强转有可能发生溢出
double h = 25.987;
int i = (int)h; //强制类型转换
System.out.println(i); //25,强转有可能丢失精度


(3)两点规则:

整数直接量可以直接赋值给byte,short,char,但不能超出范围
byte,short,char型数据参与运算时,系统一律自动将其转换为int再运算
byte b1 = 5; //byte的范围为-128到127之间
byte b2 = 6;
byte b3 = (byte)(b1+b2);
 
int a = '0';
System.out.println(a); //48
 
System.out.println('2'); //因为底层中传的该参数为啥,就打印啥
System.out.println(2+2); //4
 
System.out.println(2+'2'); //52,2加上'2'的码50
 
System.out.println('2'+'2'); //100,'2'的码50,加上'2'的码50

精华笔记
1.变量:存数的
(1)声明:相当于在银行开帐户

(2)初始化:第一次赋值,相当于给帐户存钱

(3)使用:使用的是帐户里面的钱-----(对变量的使用就是对它所存的那个数的使用)

(4)变量在用之前必须声明并初始化

2.命名:
①只能包含字母、数字、_和$符,并且不能以数字开头

②严格区分大小写

③不能使用关键字

④允许中文命名,但不建议,建议"英文的见名知意"、"小驼峰命名法"

3.八种基本数据类型:byte,short,int,long,float,double,boolean,char
(1)int:整型,4个字节,-21个多亿到21个多亿

①整数直接量默认为int类型,但不能超范围,若超范围则发生编译错误

②两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)

③整数运算时,若超出int范围则发生溢出(溢出不是错误,但需要避免)

(2)long:长整型,8个字节,很大很大很大

①长整型直接量需在数字后加L或l

②运算时若有可能溢出,建议在第1个数字后加L

(3)double:浮点型,8个字节,很大很大很大

①浮点数直接量默认为double型,若想表示float需在数字后加F或f

②double与float型数据参与运算时,有可能会出现舍入误差,精确场合不能使用

(4)boolean:布尔型,1个字节

①只能赋值为true或false

(5)char:字符型,2个字节

①采用Unicode字符集编码格式,一个字符对应一个码

②表现的形式是字符char,但本质上是码int(0到65535之间)

③ASCII码:'a'---97 'A'---65 '0'---48

④字符型直接量必须放在单引号中,并且只能有1个

⑤特殊符号需通过\来转义

4.类型间的转换:
(1)基本类型由小到大依次为:

byte----short(与char的顺序相等)----int----long----float----double

(2)两种方式:

①自动/隐式类型转换:小类型到大类型

②强制类型转换:大类型到小类型

③语法:(要转换成为的数据类型)变量

④强转有可能溢出或丢失精度

(3)两点规则:

①整数直接量可以直接赋值给byte,short,char,但不能超出范围

②byte,short,char型数据参与运算时,系统一律自动将其转换为int再运算

补充:

数据类型分类:

引用数据类型

基本数据类型

内存大小:

1G=1024M(兆)
1M=1024KB(千字节)
1KB=1024B(字节)
1B=8Bit(位)

语言基础第二天作业:
变量的练习:声明、初始化、使用、命名
基本数据类型的练习:int、long、double、boolean、char
类型间转换的练习:两种方式、两点规则
1、变量的练习:声明、初始化、使用、命名。。完整代码:

//变量的演示
public class VarDemo {
    public static void main(String[] args) {
        //1)变量的声明:----相当于在银行开帐户
        int a; //声明一个整型的变量,名为a
        int b,c,d; //声明三个整型的变量,名为b,c,d
        //int a; //编译错误,变量不能同名
 
        //2)变量的初始化:----相当于给帐户存钱
        int e = 250; //声明整型变量e并赋值为250
        int f;   //声明整型变量f
        f = 250; //给f赋值为250
 
        //3)变量的使用:----使用的是帐户里面的钱
        int g = 5;
        int h = g+10; //取出g的值5,加10后,再赋值给变量h
        System.out.println(h); //输出变量h的值15
        System.out.println("h"); //输出h,双引号中的原样输出
        g = g+10; //在g本身基础之上增10
        System.out.println(g); //输出g的值15
 
        //int i = 3.14; //编译错误,数据类型必须匹配
        //System.out.println(j); //编译错误,变量j未声明
        int j;
        //System.out.println(j); //编译错误,变量j未初始化
 
        //4)变量的命名:
        int a1,a_5$,_3c,$_b;
        //int a*b; //编译错误,不能包含*号等特殊符号
        //int 1a; //编译错误,不能以数字开头
        int aa = 5;
        //System.out.println(aA); //编译错误,严格区分大小写
        //int class; //编译错误,不能使用关键字
 
        //int k; //不直观,不建议
        //int 年龄; //允许,但不建议
        //int nianLing; //既不直观也不专业,必须杜绝
        int age; //建议"英文的见名知意"
        int score,myScore,myJavaScore; //建议"小驼峰命名法"
 
    }
}
2、基本数据类型的练习:int、long、double、boolean、char。。完整代码:

//数据类型的演示
public class DataTypeDemo {
    public static void main(String[] args) {
        /*
        //1)int:整型,4个字节,-21个多亿到21个多亿
        int a = 25; //25为整数直接量,默认为int类型
        //int b = 10000000000; //编译错误,100亿默认为int类型,但超出int范围了
        System.out.println(5/2);   //2
        System.out.println(2/5);   //0
        System.out.println(5/2.0); //2.5
        int c = 2147483647; //int的最大值
        c = c+1;
        System.out.println(c); //-2147483648(int的最小值),发生溢出了,需要避免
        */
        
        /*
        //2)long:长整型,8个字节,很大很大很大
        long a = 25L; //25L为长整型直接量,默认为long型
        //long b = 10000000000; //编译错误,100亿默认为int类型,但超出int范围了
        long c = 10000000000L; //100亿L为长整型直接量
 
        long d = 1000000000*2*10L;
        System.out.println(d); //200亿
        long e = 1000000000*3*10L;
        System.out.println(e); //不是300亿
        long f = 1000000000L*3*10;  //运算若有可能溢出,建议在第1个数字后加L
        System.out.println(f); //300亿
        */
        
        /*
        //3)double:浮点型,8个字节,很大很大很大
        double a = 3.14159; //3.14159为浮点数直接量,默认为double类型
        float b = 3.14159F; //3.14159F为float型-----了解即可
 
        double c=6.0,d=1.9;
        System.out.println(c-d); //0.10000000000000009,有可能发生舍入误差
        */
        
        /*
        //4)boolean:布尔型,1个字节
        boolean a = true;  //true为布尔型直接量
        boolean b = false; //false为布尔型直接量
        //boolean c = 25; //编译错误,布尔型只能赋值为true或false
        */
        
        /*
        //5)char:字符型,2个字节
        char c1 = '女'; //字符女
        char c2 = 'f';  //字符f
        char c3 = '6';  //字符6
        char c4 = '*';  //字符*
        //char c5 = 女; //编译错误,字符型直接量必须放在单引号中
        //char c6 = ''; //编译错误,必须有字符
        //char c7 = '女性'; //编译错误,只能有一个字符
 
        char c8 = '\\';
        System.out.println(c8);
        char c9 = 65; //0到65535之间----可以赋整数直接量,了解即可
        System.out.println(c9); //输出时会依据c9的数据类型来做输出
        //因为c8是char类型,所以会以char的形式来输出
        */
    }
}
3、基本数据类型的转换:两种方式、两点规则。。完整代码:

//数据类型的演示
public class DataTypeDemo {
    public static void main(String[] args) {
        //类型间的转换:
        int a = 5;
        long b = a;     //自动类型转换
        int c = (int)b; //强制类型转换
 
        long d = 5; //自动类型转换
        double e = 5; //自动类型转换
 
        long f = 10000000000L;
        int g = (int)f;
        System.out.println(g); //1410065408,强转有可能发生溢出
        double h = 25.987;
        int i = (int)h;
        System.out.println(i); //25,强转有可能丢失精度
        
        byte b1 = 5;
        byte b2 = 6;
        byte b3 = (byte)(b1+b2);
 
        System.out.println(2+2);     //4
        System.out.println(2+'2');   //52,2加上'2'的码50
        System.out.println('2'+'2'); //100,'2'的码50,加上'2'的码50
        
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值