Java基础系列之java的介绍

介绍java :
java语言(☆):
java是一门语言, 汉语 英语都是语言,但是这些语言是人和人交流的语言, java是人和计算机交流的语言, java c c# c++ python …
1995年 高司令 创造java

		java的三个方向:
			javaSE:方向 是用来做 桌面应用程序 qq 迅雷...
				另外JavaSE 还是 java的其他所有方向的基础。
			
			JavaME:方向 做一些嵌入式的应用。
				由ME进化出来的另一个方向  Android 这个 是有人做的。

			JavaEE :方向 做一些 大型web服务器。
				淘宝服务器  京东服务器。
				
				大数据方向: 底层也是用java去开发的。
	
	java的优点(☆☆):
		面向对象语言。
		开源
		跨平台
			平台--操作系统   意思就是你编写的程序可以在任意的操作系统上去运行。
			
			跨平台 不但方便了用户 ,用户不需要选择性的去下载对应操作系统的文件了, 同时 开发人员也提高了开发效率。
	
	jdk 和 jre 和jvm的关系(☆☆☆):
		jdk
			开发工具 : 编译工具 javac.exe  jar.exe  javawar.exe javadoc.exe
			jre :
				jvm :java虚拟机 内存 解析之类的一些信息。
				核心类库 : String System
	
	jdk下载和安装(☆):
		1:jdk的安装版本  视频里面要求 安装jdk12  你安装的只要是jdk8 以后的就可以了。
		2:一个电脑上 可以安装 很多个版本的jdk,只要安装目录不同就可以了。
			至于你以后java程序使用哪个一个jdk, 你只需要环境变量配置哪一个就行了。
		3:以后只要安装 开发类的软件 ,安装路径里面尽量不要有中文和空格。
		
HelloWorld程序
	dos 命令(☆☆☆):
		d: 切换盘符
		cd: 切换文件夹 c change 切换 d dir directory 目录 
		dir : 展示目录下的 直接目录结构
			除了根目录, 其他的目录下面 都会有额外的两个目录
			. 代表的是当前文件夹
			.. 代表的是上一层文件夹。
			
			所以 你 cd.. 进入上一层文件夹。
			操作系统的底层 根目录 叫做 \ 目录。
				linux操作系统中 有明确的体现。

				cd \  回退到根目录。
		cls
		exit
		tree 树
			c盘下 使用tree命令他就把 c盘所有的内容以树形结构展示出来。
	
	环境变量(☆☆☆☆☆):
		为什么配置环境变量: 不仅可以在bin目录下使用javac 和java命令 我还想在任意的其他目录都可以使用这两个命令。	
		命令: 就是exe 后缀结尾的 这样的文件  我们就可以称为命令。
		配置环境变量:如果你想让某个命令(.exe结尾的 都算是命令) 在任意的目录下都可以使用的话, 你只需要 把这个命令所在的目录 放到path里面就可以了。
			但是我们又不想频繁的改动path,所以我们可以给 以后可能会变动的jdk目录 起一个名字, 在path中引用这个名字就可以了,这就是所谓的JAVA_HOME
			因为每次使用的命令的时候 电脑总是会从path里面的路径从前往后去找,所以我们为了提高电脑的寻找效率,可以把 jdk的目录 放在最上面就可以了。
	
	HelloWorld程序的编写编译和运行(☆☆☆☆☆):
		编写:
			新建一个txt文件, 然后后缀改为.java ,此处注意 操作系统尽量不要隐藏文件拓展名,否则无法更改拓展名。
			
			public class Demo {  // 这个代码 定义一个类  类名字 叫做 Demo
				public static void main(String[]  args){  // main方法 程序的入口  args   arguments
					System.out.println("helloworld");  // 打印输出语句
					System.out.println("helloworld1"); // 打印输出语句  每写一行 多输出一行。
				}
			}

			注意:文件名字 和  class 后的名字 要一致。
		
		编译: javac Demo.java 
			编译成功的标志是  生成一个class文件。
			注意: 你需要先用cmd进入到 Demo.java的目录 才可以编译,否则找不到Demo.java
		
		运行: java Demo
			注意:运行的是class文件,但是不需要 加.class 

	HelloWorld的详解(☆☆☆):
		public class Demo {  // Demo 类名  必须和文件名相同。  不加public的情况下 是可以不同的。  但是 一般我们开发的时候 都要求 类名和文件名相同
			public static void main(String[] args){ // 程序入口  args 可以改 你想什么都可以  args  arguments 参数
				System.out.println("helloworld"); // 打印语句
				System.out.println("helloworld"); // 打印语句
				System.out.println("helloworld"); // 打印语句
				System.out.println("helloworld"); // 打印语句
			}
		}
	
	代码的书写(☆☆☆):
		语法:空格是一个语法, java中单词之间用空格隔开。
		
		书写程序的 约定俗称的规范:(没有这个语法,但是大家都这么写,如果你不安装这个规则写 也不会报错 但是 其他程序员会给你一个大大的中指)
			当你遇到一个{的时候 换行,并且搓一个tab键。
			遇到; 换行, 和上一行对齐就可以了。 不需要搓tab
			}必须和对应的{的那一行的行首对齐。
	
	运行乱码的问题(☆☆):
		你打开一个cmd  默认编码 是用的你计算机的本地编码(ANSI)(GBK)
		你在win10操作系统中 你新建一个txt 默认的编码是UTF-8编码
		不一致。所以乱码了。

		所以如果你使用记事本新建一个文件 需要另存为ANSI编码
		如果我们使用notepad++来新建一个文件 则需要设置 notepad++的新建选项 ANSI
		
java语法(☆☆☆☆☆):
	程序的基本组成:
		注释 (☆☆☆☆):(非必须的) 解释说明性文字
			// 单行注释
			
			/*
				一行
				两行
				三行
				....
			*/

			/* 多行注释里面我只写一行 你管得着我吗? 你来啊 */

			/**
			   文档注释  和多行注释的作用一样 也是可以写多行的
			   但是 文档注释还有一个不为人知的作用。
			   是制作帮助文档的时候 要使用的。
			*/

			public class Demo {  // Demo 类名  必须和文件名相同。  不加public的情况下 是可以不同的。  但是 一般我们开发的时候 都要求 类名和文件名相同
				public static void main(String[] args){ // 程序入口  args 可以改 你想什么都可以  args  arguments 参数
					System.out.println("helloworld"); // 打印语句
					System.out.println("helloworld"); // 打印语句
					System.out.println("helloworld"); // 打印语句
					System.out.println("helloworld"); // 打印语句
				}
			}

		关键字(☆☆☆☆☆) :java给一些英文单词 规定了特殊的含义  这些就是关键字。
			public :公共的	
			class : 类 class后面紧挨着的是类名字
			static :静态的。
			void :方法没有返回值的。
				
		数据(☆☆☆☆☆) :
			常量(☆☆☆☆☆):
				public class Demo {   
					public static void main(String[] args){ 
						//字符串常量
						System.out.println(""); // 没有内容
						System.out.println("adfkasd黑马jfkasdjlk");  
						System.out.println("a"); 
						
						//字符常量
						//System.out.println(''); //报错。
						//System.out.println('ab');  //报错。
						System.out.println('中');
						System.out.println('*');

						//整数常量
						System.out.println(10);

						//小数常量
						System.out.println(10.14);

						//布尔常量
						System.out.println(true);
						System.out.println(false);

						//空常量  用来占位。
						//System.out.println(null);  // 报错 				
					}
				}
						//   数据			 数据
				// 张三我给你10块钱 你去给我买1根冰糕。
				// 标识符 关键字 符号
			变量(☆☆☆☆☆):
				// 张三我给你我的钱包 你去给我买1根冰糕。
				
				定义格式:  数据类型 变量名  = 常量值;
						 // 数据类型 表示的是 “钱包” 有多大
						 // 变量名   钱包名
						 // 常量值   钱
				
				数据类型: 每种数据类型由一个关键字来表示。
					bit 和 byte 的由来
						bit 比特位 , 计算机是由电路板组成, 电路板里面 上亿个电阻和电容(晶体管)组成。 交流电通过电阻的时候 高电压 高电平 记为1表示
						当交流电通过电容的时候 低电压 低电平 0来表示。  每个一个电平 我们就叫做位 比特位 bit
						一个bit  只能表示0 或者1
						计算机只能存储 0 或者1  其他的都不能存储。
						但是现实生活中的事物千千万万 计算机如果只能表示0和1 那也没有计算机的什么事情了。
						
						计算机以 8个位为一组 表示计算机的最小存储单元 byte 字节。
							0000 0000  --256种变化。
					
					数据类型:
						基本类型
							整型
								byte	1个字节  -128 127
								short   2个字节  -32768 32767
								int		4个字节  21亿左右
								long	8个字节  .....
							浮点型
								float	4个
								double  8个
							布尔型
								boolean 1个  
							字符型
								char	2个

						引用类型
							数组 []
							类 class
							接口 interface 
						
					数据类型表述数据范围的 大小排序
						byte < short = char < int < long < float < double
				
				

				代码演示:
					class Demo {
						public static void main(String[] args){
							//数据类型 变量名 =  数据值;
							int a =10;
							System.out.println(a); //10

							byte b = 10;
							System.out.println(b); //10
							
							double d  = 3.14;
							// int c = 3.14;  // 报错。
							System.out.println(d); // 3.14

							//int e = true;  //报错。
							boolean e = true; 
							System.out.println(e); // true

							char f = 'a';
							System.out.println(f); //a	
						}
					}
				
				注意事项:
					1:同一个范围内 不允许定义相同名字的变量
						class Demo {
							public static void main(String[] args){
								int a = 10;
								System.out.println(a); //10
								a = 20; // 正确的  此时 你并没有重新定义a  而是在使用之前的定义的a
								System.out.println(a);

								int a = 30; //编译报错
								System.out.println(a);
							}
						}
					
					2:变量一条语句定义多个。
						class Demo {
							public static void main(String[] args){
								int a = 10 , b = 20, c = 30;
								System.out.println(a);
								System.out.println(b);
								System.out.println(c);
							}
						}
					3:变量可以分开定义
						class Demo {
							public static void main(String[] args){
								int a ;
								a = 10; //正确的

								int b,c,d;
								b = 20;
								c = 30;
								d = 40;
								
								System.out.println(a);
								System.out.println(b);
								System.out.println(c);
								System.out.println(d);

								int e,f,g = 50;
								System.out.println(e); //编译报错
								System.out.println(f); //编译报错
								System.out.println(g); //50
							}
						}
					
					4: 变量使用之前必须先赋值, 没有值不能使用
						class Demo {
							public static void main(String[] args){
								int b;  //正确的。 你不使用 那你有没有值就无所谓了。

								int a ;
								System.out.println(a); //编译报错	
							}
						}
					
					5:变量的作用域只在当前大括号内有效。
						class Demo {
							public static void main(String[] args){
								/*
									{
										int a = 10;
										System.out.println(a); // 10 
									}
									System.out.println(a); //编译报错。
								*/
								/*

									{
										int a= 10;	
									}
									int a = 20;  //正确的。
									System.out.println(a); //20
								*/
								/*
									int a = 10;
									{
										System.out.println(a);  //正确
									}
								*/

								int a = 10;
								{
									int a = 20;  //编译报错
									System.out.println(a); 	
								}
							}
						}
					6: float 类型数据后面加F  long类型后面加L
						class Demo {
							public static void main(String[] args){
								float f = 1.2F;
								long lo = 100L;
							}
						}

		标识符 (☆☆☆☆☆):所有的名字都叫做标识符。
			语法规定:
				1:a到zA到Z0到9 $_
				2:不能是关键字。
				3:不能以数字开头
					//int asdfasdfasdfasd = 10;
					int 10 = 100;

			约定俗成的习惯:
				大驼峰 : 类 Demo HelloWorld
				小驼峰 : 变量 方法 a b     getStudent
				峡谷先锋 : 常量名  JAVA_HOME

			HelloWorld案例程序里面的标识符:
				public class Demo {  // Demo 类名  必须和文件名相同。  不加public的情况下 是可以不同的。  但是 一般我们开发的时候 都要求 类名和文件名相同
					public static void main(String[] args){ // 程序入口  args 可以改 你想什么都可以  args  arguments 参数
						System.out.println("helloworld"); // 打印语句
						System.out.println("helloworld"); // 打印语句
						System.out.println("helloworld"); // 打印语句
						System.out.println("helloworld"); // 打印语句

						int a = 10;
						System.out.println(a);
					}
				}

				Demo 类名
				main 方法名
				String jre的核心类库里面提供的一个类  String就是这个类的名字
				args 变量名
				System jre的核心类库里面提供的一个类  System就是这个类的名字
				out 变量名  System类里面的一个变量名
				println 方法名 out里面的一个方法名
				a 变量名
				
		符号(☆☆☆☆☆)
			基本符号
				空格 每个单词用空格隔开。
				{} 用来表示范围的  里面可以写多条语句
				; 一个分号是一条语句。
				"" 字符串
				''字符
				() 用在四个地方
					强制类型转换
					运算中
					结构语句
					方法的定义和调用
				[] 数组
				. 指挥自己的东西

			运算符号
				赋值运算符
					=
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拥你入怀、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值