第一天java入门基础与入门语法

来源:互联网 发布:excel数据对比错误原因 编辑:程序博客网 时间:2024/05/16 13:39
第一部分:java的概述以及环境变量的配
1.Java语言概述 
(1)java语言
(2)java语言三种技术架构 JAVASE,JAVAEE,JAVAME(Android)
(3)java语言的跨平台性(人是怎么上天入海的)。
*JVM
*java语言是跨平台的,但是jvm不是跨平台的。
(4)JRE,JDK
**JRE JVM+java核心类库
**JDK JRE+java tools
(5)JDK的下载
**官网
***www.oracle.com
***java.sun.com
**百度,谷歌
**找我要
(6)JDK的安装
**傻瓜式安装。
**注意问题:
***目录不要带有中文或者空格。
***jre可以不必要单独安装。

2:环境变量
(1)环境变量 
*Path 配置完环境变量后,windows能够自动根据path去找你在控制台中输入的命令。exe。
(2)临时环境变量的配置
*set:用于查看本机的所有环境变量的信息。
*set 变量名 :查看具体一个环境变量的值。
*set 变量名= :清空一个环境变量的值。
*set 变量名=具体值 :给指定变量定义具体值。
*%% 动态引用变量的值
(3)永久环境变量的配置
*找到环境变量
**我的电脑--右键属性--高级--环境变量--系统变量
*操作
**新建一个环境变量,格式如下
***变量名 JAVA_HOME
***变量值 JDK的安装目录。(C:\Program Files\Java\jdk1.7.0_15)
**编辑Path
***变量名 Path
***变量值 %JAVA_HOME%\bin;本身的环境变量值


3:体验一下HelloWorld
(1)开发工具
*记事本 
*高级记事本 EditPlus
*IDE 集成开发环境

(2)体验HelloWorld
*编写源代码
class Demo{
public static void main(String[] args){
System.out.println("HelloWorld!!!");
}
}


**class是关键字,表示前置声明一个类。
**Demo 是类名,可以随便起,但是要符合标识符命名规则。


**Exception in thread "main" java.lang.NoSuchMethodError: main
***jvm在执行过程中,要找main函数。
***类要独立运行时,必须有main函数。
***格式 public static void main(String[] args)
**这个时候,控制台没有任何内容
***输出语句 System.out.println("Hello Itcast");
*编译源代码
**javac命令用来编译源代码
***格式 javac 源代码文件名
*运行字节码文件
**java命令用来运行java程序
***格式 java 字节码文件的名字不带后缀名


4:classpath环境变量的配置 
(1)path和classpath的区别
*path变量是windows程序文件的目录 (exe,bat。)
先在当前目录找,找不到就到path路径里找,如果还是找不到就会说,不是内部或外部命令,也不是可运行的程序或批处理文件
*classpath变量值是java类文件的目录 (class结尾)
如果配置了classpath分两种情况
1,末尾加分号,先在classpath路径里找,如果找不到就会去当前目录去找,如果还是找不到报找不到或无法加载主类
2,末尾不加分号,只在classpath路径找,找不到就直接报找不到或无法加载主类
(2)classpath如何配置 
*临时配置
**set classpath=c:\my
*注意:
**设置了classpath,只在classpath下找。
**没有设置classpath,就在当前目录下找。
**如果classpath结尾设置了; 那么它将首先在classpath下找,
 如果找不到,再在当前目录下找。但是不建议这样用。
**.是代表当前路径,另外建议不要配置classpath路径


5:关键字
(1)被Java语言赋予了特殊含义的单词。
(2)特点:关键字中所有字母都为小写。
(3)goto和const虽然从未使用,但也作为 Java 关键字保留,记住保留字也是不能当作标识符.


6:标识符
(1)Java 语言中,对各种变量、方法和类等要素命名时使用的字符序列称为标识符。
*简单记,就是起名字。
(2)命名规则
*由26个英文字母大小写,数字0-9,_,$等组成。
*不能以数字开头。
*不能与java的关键字重名。
(3)命名规范 见名知意,驼峰命名。
*包 所有单词小写。
**看成是一个文件夹。
**www.itcast.cn cn.itcast.www cn/itcast/包的作用
**www.baidu.com com/baidu/包的作用(如果我们打算去哪个公司面试的话,可以先把公司的网站了解一下,然后把你的项目包名称改成公司网站的名称,这样会增加你面试的机会)
*类和接口 
**如果是由一个单词组成,那么单词首字母大写。举例:Demo,Student。
**如果是由多个单词组成,那么每个单词的首字母大写。举例:StudentDemo。
*变量与方法
**如果是由一个单词组成,那么单词首字母小写。举例:main,show。
**如果是由多个单词组成,第一个单词首字母小写,其后每个单词的首字母大写。举例:showName。
*常量 
**如果是一个单词组成,那么所有单词全部大写。举例:MAX。
**如果由多个单词组成,每个单词大写,并且以下划线相连接。举例:STUDENT_MAX_AGE。



7:注释
(1)注解说明代码的,用于给人看的。
(2)注释的分类
*单行注释 //
*多行注释 /* */
*文档注释 /** */
(3)注释的用途
*注解说明文字。
*用于调试代码。
8: 常量
(1)整数常量。所有整数
(2)小数常量。所有小数
(3)布尔型常量。较为特殊,只有两个数值。true false boolean
(4)字符常量。将一个数字字母或者符号用单引号('')标识。'中'
(5)字符串常量。将一个或者多个字符用双引号标识。 "abc""a" " "
(6)null常量。只有一个数值就是:null.
11:EditPlus
*如何把其添加至右键菜单
**工具--参数设置--常规--把Editplus添加到右键快捷菜单(倒数第二项)
*如果去掉备份文件
**工具--参数设置--文件--去掉保存时创建备份文件前面的对勾(第一项)
***************************************************************************************************************************************
第二部分:基础语法的学习。
1:进制
(1)就是进位制,是人们规定的一种进位方法。 对于任何一种进制--X进制,
  就表示某一位置上的数运算时是逢X进一位
(2)java语言中整数的表现形式
A:八进制
**逢八进一
**所能表示的数据有:0-7
**用0开头表示
B:十进制
**逢十进一
**所能表示的数据有:0-9
C:十六进制
**逢十六进一
**所能表示的数据有:0-9,A-F(10-15)
**用0x或者0X开头表示
d:二进制
**逢二进一
**所能表示的数据有:0-1
(3)进制的由来及特点。进制越大,表现形式越短
(4)进制转换
A:其他到十进制的转换
**其他进制包含二进制,八进制,十六进制
**转换规则
***先把数据的每一位上的系数乘以对应基数的次幂(低位从从零开始),然后相加即可
B:十进制到其他进制的转换
**规则:除基取余,直到商为0,最后将余数反转
**十进制到二进制
***除2取余,直到商为0,最后将余数反转
***十进制13对应的二进制数据是1101
***二进制到十进制的技巧(8421码)
**十进制到八进制
***除8取余,直到商为0,最后将余数反转
***十进制13对应的把进制数据是15

***十进制--二进制--八进制
****首先把十进制转成二进制
****其次把二进制数据每三位组合。左边不够三位用0补位
****然后把每个组合计算成对应的十进制数据
****最后从左到右把数据相连接即可得到八进制
**十进制到十六进制
***除16取余,直到商为0,最后将余数反转
***十进制13对应的把进制数据是D

***十进制--二进制--十六进制
****首先把十进制转成二进制
****其次把二进制数据每四位组合。左边不够四位用0补位
****然后把每个组合计算成对应的十进制数据
****最后从左到右把数据相连接即可得到十六进制



2:变量
(1)在程序的运行过程中,其值在指定范围内变化的值
(2)是内存中一个区域,用于存储数据
(3)变量的定义格式:
A:数据类型 变量名 = 初始化值;
(4)变量在使用的时候
A:第一种,在声明的时候,就初始化值
**数据类型 变量名 = 初始化值;
**举例:byte b = 100; System.out.println(b);
B:第二种 在使用前,赋值
**声明
**赋值
**使用
**举例 byte b2;
      b2 = 100; System.out.println(b2);
3:数据类型
(1)java语言分为两种数据类型
A:基本数据类型
B:引用数据类型(类,接口,数组)
(2)基本数据类型
A:区别 在内存中分配的空间大小不同,从而导致它表示的数据范围不同
B:4类8种
**整数
***byte 占1个字节
***short 占2个字节
***int 占4个字节
***long 占8个字节 其后加L或l标识
**浮点数
***float 占4个字节 其后加F或f标识
***double 占8个字节
**字符
***char 占2个字节
**布尔型
***boolean 占一个字节 
***true,false
C:默认情况下:
**整数是int类型
**浮点数是double类型
(3)数据参与运算
A:整型,字符型,浮点型的数据在混合运算中相互转换,转换时遵循以下原则
**容量小的类型与容量大的类型进行计算,默认转换为容量大的数据类型;数据类型按容量大小排序为:
***byte,short,char->int->long->float->double
***byte,short,char之间不会互相转换,他们三者在计算时首先会转换为int类型
**容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,
 但可能造成精度降低或溢出;使用时要格外注意。
**有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,
 然后再进行计算。
B:强制转换符
**格式:(数据类型)(要被转换的数据) byte b = (byte)(130);
C:字符型参与运算
**首先会去找对应字符的ASCII码值。然后运算。
D:布尔型参与运算
**不能参与运算
E:字符串参与运算
**它是和参与运算的数据相连接组成了一个新的字符串。



4:运算符
(1)算术运算符 +,-,*,/,%,++,--
A:%
**当左边的绝对值小于右边:结果是左边
**当左边的绝对值等于右边或者是右边倍数的时候:结果是0
**当左边的绝对值大于右边:结果是余数,符号取决与左边的的符号
**取余的正负号取决于左边
**用途:任意数%2 结果是要么0,要么1。用于切换条件
B:++,--
**递增,递减运算符。就是加1或者减1
**单独存在,放在操作数的前面或者后面,结果一样
**参与运算时:
***放在操作数的前面,先自身加或者减1,然后再参与运算
***放在操作数的后面,先参与运算,然后再自身加或者减1
C:+
**作为数据的符号
**做加法运算
**字符串连接符
(2)赋值运算符
A:=:赋值运算符 把右边的值赋给左边
**举例:int x = 3; 把3赋给int类型变量x
B:+=:加赋值运算符 把左边和右边的和赋给左边
**举例:int x = 3; x+=2;等同于 x = x + 2;
**+=运算符在给s赋值时,自动完成了强转操作。
(3)比较运算符
A:==,!=,>,<,>=,<=
B:比较运算符的结果都是boolean型,也就是要么是true,要么是false。
(4)逻辑运算符
/*
逻辑与运算符 &

第一个条件    第二个条件     结果
true          true    true
false         true           false
true          false          false
false         false          false


简单记:同时为true,结果为true。
*/


/*
逻辑或运算符 |

第一个条件    第二个条件     结果
true          true    true
false         true           true
true          false          true
false         false          false


简单记:同时为false,结果为false。
*/


/*
逻辑异或运算符 ^

第一个条件    第二个条件     结果
true          truefalse
false         true           true
true          false          true
false         false          false


简单记:同时为同一种情况,结果为false。
*/


/*
逻辑非运算符 !

!true  false
!false true
       !!true true
*/


/*
短路与:


&:左边无论什么结果,右边都执行。
&&:左边为false,右边不执行,结果为false。




短路或:
|:左边无论什么结果,右边都执行。
||:左边为true,右边不执行,结果为true。
*/
(5)位运算符
<<一个数向左移动几位就乘以2的几次幂
>>一个数向右移动几位就除以2的几次幂
(6)三元运算符
A :(条件表达式)?表达式1:表达式2;
**如果条件为true,运算后的结果是表达式1;
**如果条件为false,运算后的结果是表达式2;
B:条件运算符运算完之后一定有一个结果


原创粉丝点击