Java入门基础一(简介和变量)

1.Java简介

1.1 Java的跨平台特性

​ Java比较特殊,大致归类为解释型语言,该语言不属于传统的解释型语言也不属于传统的编译型语言。

​ 该语言将源代码通过编译器成编译成字节码文件(中间文件/class文件),字节码文件不能被系统直接执行,但是可以被安装在该平台上的Java虚拟机(VM)进行解释执行。换言之,Java源码被编译成字节码文件,该字节码文件被各大平台上的Java虚拟机解释执行,实现了跨平台特性,但是跨平台的前提是平台上必须安装相匹配的Java虚拟机。

1.2 Java体系的划分

JavaSE - J2SE - 标准版本(引申出了企业版本和微型版本)

JavaEE - J2EE - 企业版本(针对后端开发的技术)

JavaME - J2ME - 微型版本(针对前端开发的技术-已过时,现在都用Android、鸿蒙)

2. 开发基础和环境搭建

2.1开发基础

2.1.1.什么是JavaEE?

接收来自前端的请求,并通过响应返回给前端数据

2.1.2.常用的开发语言

2.2 开发环境搭建

2.2.1. JDK和JRE

目的:写Java代码

JDK( javaSE Development Kit ):工具(Java开发工具包)

JRE( Java Runtime Enviroment ): 环境(Java运行时环境)

2.2.2. 安装JDK

注意:

  1. 如果你仅仅运行java程序,只用安装JRE即可,但是你要编写Java程序,就必须安装JDK和JRE
  2. 安装路径建议用默认路径
  3. 安装后不会像QQ有开启软件的图标

2.2.3. 配置环境变量

目的地:我的电脑右键属性 – > 高级系统设置 --> 高级卡页 --> 环境变量

变量名变量值
JAVA_HOMEC:\Program Files\Java\jdk1.8.0_144
Path%JAVA_HOME%\bin

注意:变量名没有就新建,有就拼接

补充:Path的作用

在path中配置了某个文件夹,代表在其他任何文件夹里都可以打开配置的文件夹中的文件(如C:\Program\Files\Java\jdk1.8.0_144\bin目录下的javac.exe 和 java.exe)

2.2.4.测试环境配置

打开CMD输入

javac -version

java -version

2.3编写第一个Java程序

2.3.1. cmd常用命令

命令描述
cd\退回到根目录
cd 文件夹名进入指定文件夹
d:进入到d盘
dir遍历该文件夹下所有的文件
cls清空cmd窗口的内容

2.3.2. 用记事本编写Java源程序

示例:

//公有类名叫做Hello
public class Hello{
   //主方法
   public static void main(String[] args){
       //输出语句
       System.out.println("Hello World!");
   }
}
/*
   内容解析:
   public-公有的	class-类 	Hello-类名
   static-静态的	void-无返回值的	main-方法名
   String-字符串
   String[]-字符串数组
*/

2.3.3. 代码细节

  1. public修饰的类名必须和文件名一致
  2. Java是一门大小写敏感的语言
  3. 括号、双引号都是成双成对的
  4. 方法里的代码都是从上往下执行 - 顺序执行
  5. 方法中的代码又叫做执行语句,执行语句用英文状态分号(;)结束

2.3.4. java源程序运行

先编译:javac Hello.java

再运行:java Hello

3. Java编码规范

3.1. 书写格式

使用tab键让代码更有层次感,可读性增高(在专业的编译软件上有自动对齐功能)

3.2. 代码注释

含义:解释编写好的代码

注释描述
//注释内容单行注释
/* 注释内容 */多行注释
/** 注释内容 */文档注释

注意:注释不参与编译过程,即不影响编译,且在编译后的.class文件中会被直接丢弃。(反编译后[.class->.java],注释会全部消失)

3.3. IDE

含义:编码环境,编写代码的软件

记事本 --> notepad++/EditPlus --> eclipse --> IDEA

3.4. 编码问题

当出现非英文符号时,如汉字…,需要保证源文件和执行环境编码一致,否则会出现乱码或报错。

根本原因:两者编码和解码不是使用的同一编码格式

解决方案:两个端口设置一样的编码格式

(设置cmd窗口编码:javac -encoding UTF-8 Hello.java)

3.5. 标识符

含义:给类、方法、变量、接口取名字时使用到的字符序列

组成部分:英文大小写字母 or 数字 or $ or _ or 中文

命名规范:

  1. 不能以数字开头

    1. 区分大小写字母
      1. 不能使用除了$和_以外的特殊符号
        4. 不要使用中文(企业级的命名规范不允许使用中文)
        5. 不能使用Java的关键字
public class 标识符{
    public static void 标识符(String[] args){
        
    }
}

3.6. 关键字

含义:java提前给我们定义的具有特殊意义的单词

例如:int、char、void、private、if、else…等(很多)

4. Java的变量

4.1. 变量

含义:在程序执行过程中,可改变的量

语法:数据类型 变量名 [= 值];
注意:

  1. 中括号里的内容可写可不写,不违反变量的语法规则

       2. =为赋值号,将赋值号右边的值赋值给左边的变量。
        		3. 变量类似容器,但是变量只能存单个值(要想存多个值,可以考虑使用数组和集合)
    

4.2. 变量的注意事项

  1. 在同一个作用域中,变量名不能重复
  2. 变量必须初始化后,才能使用

4.3. java数据类型

4.3.1. 基本数据类型
数值型

​ {整数类型

​ 【字节型:byte(1字节)】 取值范围为-128~127

​ 【短整型:short(2字节)】 取值范围为-32768~32767

​ 【整型:int(4字节)】 取值范围为(-2147483648~2147483647)

​ 【长整型:long(8字节)】 取值范围为(-9223372036854774808~9223372036854774807)

​ 浮点类型:

​ 【单精度浮点型:float(4字节)】 3.402823e+38 ~ 1.401298e-45

​ 【双精度浮点型:double(8字节)】 1.797693e+308~ 4.9000000e-324

​ }

注:计算机中的最小单位为字节,一个字节有八位 0000 0000

字符类型:char(2字节)
char c='A';

赋值使用单引号,单字符。

布尔类型:boolean(4字节)
boolean bool=true;
bool=false;

true:对的,真的。

false:错的,假的。

4.3.2. 引用数据类型

数组、类、接口、枚举

4.4. 基本数据类型转换

注意:数值类型的转换

数值类型的取值范围:byte<short<int<long<float<double

byte:-128~127

int: -21亿…~21亿

char: 0~65535

boolean :底层使用int型1和0表示。

  1. 自动转型(取值范围小的转向取值范围大的)

    byte b=1;
    short s=b;
    int i=s;
    long l=i;
    float f=l;
    double b=f;
    
  2. 强转转型(取值范围大的转向取值范围小的)

    double b=1.0;
    float f=(double)b;
    ...
    byte b=(short)s;
    

    注:自动转型和强制转型也可以一步到位。

  3. 特殊点

    char c='a';
    int i=c;
    System.out.println(i);
    

    得出i的结果为97(为a的ascll码为97)。

4.5. 拓展

常量:在程序执行过程中不可变的量。

分类:
1.数字字面量(代码中出现的实质数字)

​ 数字为整数默认类型为:int

​ 数字为小数默认类型为:double

​ 2.字面值常量(如固定字符串)
​ 3.final(最终的)修饰的变量
​ final int i = 100;

示例:

byte b1=1;//1为int数值,但是1在byte类型的取值范围内,所以直接赋值
byte b2=128;//报错,128为int数值,但是128未在byte类型范围内,所以需要强转。
byte b2=(byte)128;//强转成功,但储存在b2中的数值变为-128

分析:int类型128 :0000 0000 0000 0000 0000 0000 1000 0000

​ byte类型值取后一个字节 :1000 0000

​ 首位的符号位为1代表负数,为范围内最小的负数-128

float f=1.1;//报错,无法将一个double类型数值赋值给float
float f=1.1F;//正确,直接将1.1认为成float类型数据
float f=(float)1.1;//正确,强制转型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值