java基础(环境变量配置,常量变量)

一.java前言

Java诞生于SUN(Stanford University Network),09年SUN被Oracle(甲骨文)收购。

1.Java技术体系平台

  • JavaSE(Java Platform, Standard Edition标准版):允许您在桌面和服务器上开发和部署Java应用程序。Java提供了丰富的用户界面、性能、多功能性、可移植性和当今应用程序所需的安全性。
  • JavaEE(Java Platform, Enterprise Edition企业版):是为开发企业环境下的应用程序提供的一套解决方案,主要针对于Web应用程序开发。
  • JavaME(Java Platform, Micro Edition 小型版):为互联网上的嵌入式和移动设备上运行的应用提供了一个健壮、灵活的环境:微控制器、传感器、网关、移动电话、个人数字助理(PDA)、电视机顶盒、打印机等等。JavaME包括灵活的用户界面、健壮的安全性、内置的网络协议,以及支持动态下载的网络和离线应用程序。基于JavaME的应用程序在许多设备上都是可移植的,但是利用了每个设备的本机功能。
    • Java Embedded(Im’bedId): 用于解锁物联网的智能设备的价值:
      通过远程市场更新和刷新功能延长产品生命周期和价值;
      利用Java的可伸缩性、健壮性、可移植性和全套功能,提高生产效率,降低成本,缩短上市时间;
      在边缘启用快速数据功能;
    • Java Card:使安全元件(如智能卡和其他防篡改安全芯片)能够承载采用Java技术的应用程序。Java card提供了一个安全的、可互操作的执行平台,它可以在一个资源受限的设备上存储和更新多个应用程序,同时保持最高的认证级别和与标准的兼容性。
    • Java TV:是一种基于JavaME的技术,它为开发在tv和机顶盒设备上运行的java应用程序提供了一个性能良好、安全且易于实现的解决方案。使用Java TV运行时,开发人员可以轻松创建应用程序,例如电子节目指南(EPG)、视频点播(VOD)客户端、游戏和教育应用程序、用于访问Internet数据的应用程序(例如天气、新闻播报器、社交网络)以及大多数蓝光光盘标题上的用户界面和奖金内容。

2.Java介绍

1.计算机编程语言:计算机能看懂的语言,我们能使用计算机编程语言对计算进下达指令
2.java之父:詹姆斯高斯林
3.java涉及到的领域:主要用于互联网领域,开发应用程序
a.各行各业的操作系统,网站
b.移动端:医疗设备上,超市打印小票机器,鸿蒙,安卓等
c.电商网站
d.物流管理
e.银行使用的操作系统等
f.桌面应用(idea)
g.企业级开发(服务器程序)
h.科学计算:机器人
i.大数据库开发:hadoop
j.游戏开发
4.目前安装的jdk版本:jdk8

3.字节

1.计算机中最基本的存储单元,叫做字节,用byte或者B
2.8个二进制位(bit)等于一个字节
3.存储单元的计算规则:
8bit = 1B
1024B = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB

2的8次方=>256
-128-127->字节取值范围 byte

12345678
0或10或10或10或10或10或10或10或1

3.常用的dos命令

作用命令
切换盘符盘符名:->回车->盘符名不区分大小写,但是我们得有这个盘
查看当前目录下的内容dir
进入到指定的目录cd文件夹名
进入到多级目录cd 文件夹名\文件夹名
退到上一级目录cd…或者cd …
退到磁盘位置cd\或者cd \
清屏cls
关闭dos命令窗口exit
创建文件夹mkdir 文件夹名
创建多级文件夹mkdir 文件夹名\文件夹名
删除文件夹rd 文件夹名(被删除的文件夹必须是空的,而且不走回收站)
删除文件del 文件名.后缀名
批量删除指定类型的文件del *.后缀名

1.指定文件或者文件夹,可以用tab键自动补全

2.按上下箭头可以切换之前打过的命令

二.Java所需要的环境

1.jvm和跨平台

1.jvm:java虚拟机,是运行所有java程序的假想计算机,是java程序的运行环境之一,也是java最具吸引力的特性
之一,我们编写的java代码,都必须运行在jvm之上
2.跨平台:一个java代码可以在不同的操作系统上运行
跨:跨越
平台:操作系统
3.jvm和跨平台的关系:
一个java程序想要取不同的操作系统上运行实现跨平台,我们需要安装不同版本的jvm

请添加图片描述

2.JDK和JRE

1.JRE(Java Runtime Environment):java程序运行时所需要的环境,包含"jvm"和运行时所需要的"核心类库"
2.JDK(Java Development Kit):是java程序开发工具包,包含"JRE"和开发人员使用的工具(javadoc)
3.由于jdk包含了jre,jre又包含了jvm
所以只需要安装一个jdk即可

3.JDK安装

安装好后在jdk安装路径下的bin路径下使用cmd进入dos命令窗口:输入javac和java命令

javac:编译

Java:运行

未配置环境变量情况下,在其他路径无法使用javac及java命令

如果想在外部使用,需要配置环境变量

4.环境变量的配置

1.配置环境变量的目的:在任意路径下随意使用java及javac命令

2.配置方式:

  • 直接将jdk安装路径的bin路径放到path路径下(不推荐原因:容易将path手滑删掉,导致系统中一些操作执行不了)
  • JAVA_HOME(推荐)如下为具体操作步骤

2.1找到高级系统设置并点击

2.2找到环境变量并点击

2.3点击新建

2.4变量名为JAVA_HOME(必须大写)变量值为jdk安装路径bin路径的上一级路径

2.5找到系统变量的path点击编辑 -> 之后点击新建输入%JAVA_HOME%\bin ->配置完成->之后可在CMD命令提示框使用java或javac看是否成功执行来验证环境变量是否配置成功

三.Java第一个程序的开发

1.开发三步骤

1.编写:创建一个xxx.java文件 需要将文件名后缀设置成显示
2.编译:javac ->生成一个class文件(字节码文件),jvm运行java程序,只认识class文件
javac java文件名.java
例:javac test.java
3.运行:java
java class文件名 ->不要带后缀
例:java test

2.编写helloworld

public class test{
	public static void main(String[] args){
		System.out.println("HelloWorld");
	}
}	

3.注释

1.注释:对代码的解释说明,不参与编译和运行

2.分类:

  • 单行://注释内容

  • 多行:

    /*

    ​ 注释内容

    */

  • 文档注释:

    /**

    ​ 注释内容

    */

    文档注释:可以使用javadoc命令生成此类相关的一个API文档,让别人快速了解此类的作用及成员
    命令:javadoc -d 要生成的文件夹名字 -author -version 文件名.java
    例:javadoc -d api -author-version Demo01HelloWorld.java

//单行注释  定义一个类,类名叫做Demo01HelloWorld
public class Demo01HelloWorld{
	/*
	  叫做main方法,是程序的入口
	*/
	public static void main(String[] args){
		
		//输出语句
		System.out.println("HelloWorld");
	}
}	
文档注释:可以使用javadoc命令生成此类相关的一个API文档,让别人快速了解此类的作用及成员
命令:javadoc -d 要生成的文件夹名字 -author -version 文件名.java
    例:javadoc -d api -author-version Demo01HelloWorld.java
 /**
  这是一个Java入门程序
  @author  我
  @version v1.0
*/
public class Demo02HelloWorld{
    /**
	  main方法的作用为程序的入口
	*/
	public static void main(String[] args){
		//输出语句
		System.out.println("HelloWorld");
	}
}	
/*
  public class Demo03HelloWorld
   public:权限修饰符,代表公共的(面向对象时说)		
   class:代表的是类
   Demo03HelloWorld:类名,要求和java文件名保持一致
   
   
  在定义一个类:类是java程序最基本的组成单元
               所有的代码都要在class类中写
*/
public class Demo03HelloWorld{
  
    /*
	  public static void main(String[] args)
	    public :权限修饰符,代表公共的(面向对象时说)
        static:静态关键字(面向对象时说)	
        void:代表方法无返回值(讲方法的时候说)
        main:方法名
   		(String[] args):main方法的参数,参数类型为String数组,参数名为args(后面说)
		
		main方法是java程序的入口,jvm执行java程序从main方法开始执行  mian
	 
	*/
	public static void main(String[] args){
		//输出语句(打印语句),可以将我们的结果输出到控制台上
		System.out.println("HelloWorld");
	}
}	

4.关键字

1.关键字:Java提前定义好的具有特殊含义的小写单词

5.编写HelloWorld时需要注意的问题

  • 字符编码问题

    1.当cmd命令行窗口的字符编码与java源文件中的字符编码不一致时,就会在dos命令窗口中出现乱码,原因是
    写代码的时候,编码为:UTF-8
    dos命令窗口默认字符集:GBK
    a.如果是英文,在这两个编码中(UTF-8和GBK)一个字符就占一个字节
    b.如果是中文,同样的中文内容在这两个编码所占字节数不一样
    UTF-8:一个中文占三个字节
    GBK:一个中文占两个字节

    在这里插入图片描述

6.源文件名(Java文件名)与类名一致问题

1.源文件名不一定与类名一致
a.如果class前面没有public,此时类名可以和java文件名不一致
b.如果class前面有public,此时类名必须和Java文件名保持一致
2.一个源文件可以有多个类,但是要定义非public的
3.main方法不是必须在public的类中吗但是后面main方法都要写在public的类中

1.不管class是否为public的,我们的类名都建议和java文件名保持一致

2.我们尽量在一个java文件中定义一个class类

3.main方法全部放到public的类中

四.常量

1.在代码运行过程中,值不会发生改变的数据
2.分类:
整数常量:所有整数,包括正负 -1 1
小数常量:所有带小数点的 2.5 2.0
字符常量:带单引号的’'单引号中必须有,且只能有一个内容
‘1’ 对
‘11’ 不对
‘1a’ 不对
’ ’ 对
’ ’ 不对(此处为俩空格)
‘tab键’ 对
字符串常量:带双引号""双引号中的内容随意
布尔常量:true false->用于判断条件
空常量:null -.代表数据不存在->不能直接使用

public class Demo06HelloWorld{
	public static void main(String[] args){
		//整数常量
		System.out.println(1);
		System.out.println(-1);
		
		//小数常量
		System.out.println(2.5);
		System.out.println(2.0);
		
		//字符常量
		System.out.println('1');
		//System.out.println('11');''中必须有且只能有一个内容 11算两个内容
		//System.out.println('');''中必须有且只能有一个内容
		System.out.println(' ');//一个空格算一个内容
		//System.out.println('  ');//一个空格算一个内容,两个空格就是两个内容
		System.out.println('	');//tab键算一个内容
		
		//字符串常量
		System.out.println("张无忌和赵敏以及周芷若还有小昭以及朱九真...没羞没臊的故事");
		System.out.println("");
		//布尔常量
		System.out.println(true);
		System.out.println(false);
		
		//空常量
		//System.out.println(null); null代表数据不存在,不能直接引用
	}
}
public class Demo07HelloWorld{
	public static void main(String[] args){
		System.out.println(10+3);//13
		System.out.println(10-3);//7
		System.out.println(10*3);//30
		System.out.println(10/3);//3  如果/前后都是整数,取的整数部分
		System.out.println(10/3.0);// 如果/前后有一个是小数,结果就是带小数点的
	}
}

五.变量

1.概述:在代码运行过程中,值可以根据不同的情况随时发生改变的数据
int price = 10;
price = 8;
2.作用:临时存储一个数据
3.变量的类型:
基本数据类型:(4类8种)
a.整形:byte int short long
b.浮点型:float double
c.字符型:char
d.布尔型:boolean
引用数据类型:(5种)
a.类
b.数组
c.接口
d.枚举
e.注解
4.整数默认类型为int
小数默认类型为double
5.按照取值范围从小到大排列
byte short char ->int ->float->double
6.特殊的类型:字符串类型
用String表示,但String不属于基本类型,属于一个类,所以属于引用数据类型,只不过String类型的格式和基本数据类型一样

数据类型关键字内存占用取值范围
字节型byte1个字节-128 至 127 定义byte变量时超出范围,废了
短整型short2个字节-32768 至 32767
整型int(默认)4个字节-231 至 231-1 正负21个亿
长整型long8个字节-263 至 263-1 19位数字
单精度浮点数float4个字节1.4013E-45 至 3.4028E+38
双精度浮点数double(默认)8个字节4.9E-324 至 1.7977E+308
字符型char2个字节0 至 216-1
布尔类型boolean1个字节true,false(可以做判断条件使用)
public class Demo08Var{
	public static void main(String[] args){
		//byte
		byte num1 = 100;
		num1 = 101;
		//num1 = 200;超出了byte的取值范围了
		System.out.println(num1);
		
		//short
		short num2 = 100;
		System.out.println(num2);
		
		//int 整数默认类型
		int num3 = 100000000;
		System.out.println(num3);
		
		/*
		  long 定义long型的变量,习惯上再值得后面加上L或者l
		  建议用L
		*/
		long num4 = 100000000L;
		System.out.println(num4);
		
		/*
		  float 定义float型的变量,请在小数后面加F或者f
		  建议用F
		*/
		float num5 = 2.5F;
		System.out.println(num5);
		
		/*
		  double
		*/
		double num6 = 2.5;
		System.out.println(num6);
		
		/*
		  char 代表字符变量
		*/
		char num7 = '中';
		System.out.println(num7);
		
		/*
		  boolean
		  true false
		*/
		
		boolean num8 = true;
		boolean num9 = false;
		System.out.println(num8);
		System.out.println(num9);
		
		/*
		  num9代表的是false
		  相当于将num9的false赋值给了变量num8,此时num8的true被覆盖了,变成了num9的false了
		*/
	    num8 = num9;
		System.out.println(num8);
		
		/*
		  String 字符串
		*/
		String s = "atguigu";
		s = "taoge";
		System.out.println(s);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值