Java基础No.2--基本数据类型(及转化)&常量与变量&编辑器下载安装
先下载一个编辑器,能识别Java的都可以
如Eclipse、MyEclipse、idea、Hbuilder、sublime 、VS Code、pycharm等 有的能直接识别Java,有的需要下载插件识别
不同大牛使用编辑器写Java程序的习惯不一样
我这里使用idea
个人挺喜欢这个界面的,vscode也不错
idea官网:https://www.jetbrains.com/
我选的是旗舰版,收费就收费呗(能破就破,不能破就买)
下载
开始安装
我的路径
下一步,64位的操作系统选我这个
运行可能会弹出,Complete Installnation
第一次安装idea,选我不用导入任何配置
其他选剩下的那个
我这没显示,估计装的次数太多了,自动导入了
建一个项目
选模板等同于画蛇添足
写文件名和路径
写文件名,不用加后缀,生成
快捷键生成程序入口
或则手动敲,也加深记忆了
public class test {
public static void main(String[] args) {
System.out.println("shift + enter 向下键入一行");
System.out.println("ctrl + alt + enter 向上键入一行");
System.out.print("print不换行");
System.out.print("print不换行");
//看控制台结果执行完之后有一个回车的效果;即先输出在换行
System.out.println("ln是换行");
System.out.print("print不换行");
System.out.print("print不换行");
}
}
基本数据类型
Java小知识
Java命名的规则和规约
名字只能含有字母(区分大小写) 数字(不能开头) 英文符号(_ $) 中文(不推荐)
类名字首字母大写 多个单词每一个首字母都大写 名字最好见名知义
1.配置环境变量
Path 让工具可以在任何的位置都可以用
classPath 不管源文件在哪儿 生成的class文件都统一的存储在配置的目录下
JAVA_HOME 目的是为了让路径的写法变得简单(相对路径的写法)
JAVA_HOME C://program files/java/jdk
path %JAVA_HOME%/bin
昨天讲到.class和编译后的.java文件名字不同,也可以但是可读性不好
强制让二者名字一致,加上public
数据类型
分类
基本数据类型
8个基本数据类型
整型 (byte short int long64)
浮点型 (float 32 double 64)
字符型 (char 16bit 2字节 Unicode编码 0-65535)
布尔型 (boolean 1bit true false)
引用数据类型
数组 []
类 class 及 抽象类 abstract class
接口 interface
枚举 enum
注解 @interface
1byte(字节)==8bit(位)
为什么整型有4个,整型跨度大,便于分类
byte--1byte short--2byte int--4byte long--8byte
float --4byte double--8byte char--2byte boolean--1bit
float 单精度 浮点型
double 双精度 浮点型
字符char
每一个字符的前后各加单引号
原因:字符中数字和整数的数字冲突,为了以示区分
boolean类型
值只有TRUE和FALSE
常量与变量
常量
常量代表是程序运行过程中 不能再次改变的值
常量的作用
1.固定的值 代表计算过程中经常用到的值;如圆周率:3.1415926.....
2.用来代表一个含义,便于程序计算,如UP==>1 2 3 4分别代表 上下左右四个方向
什么样的值算是常量
1.固定不变的值 算作常量
1 3.14 'a' true
可以认为所有基本类型的值 固定不变 是常量
2.特殊的常量
String(字符串)
String是一个引用数据类型,值可以视为常量
3.自己创建的空间 存储一个值 让他固定起来 不能改变
final int UP = 1;意思就是写了final 就是常量,且不可改变
变量
变量指的是程序执行过程中可以改变的
变量是一个内存空间(小容器)
变量空间在创建(声明)的时候 必须指定数据类型 变量空间的名字
变量空间里面只能存储一个内容
变量空间内的内容可以改变
命名规则(必须遵守)
字母(大小写敏感) 数字(0-9不允许开头) 符号(英文符号 _ $) 中文(不推荐)
命名的规约(约定俗成)
类名 首字母大写 如果两个以上的单词 所有首字母都大写
BeatufulGirl
变量名 首字母小写 如果两个以上的单词 之后的首字母大写
beatufulGirl
遵循驼峰式命名规约
所有名字都需要见名知义,为了增强程序的可读性
变量的声明
数据类型 名字;
变量可以只声明,不报错
但是以后不能拿来未声明的变量使用,会编译错误
= 是赋值的作用,把右边的数据赋值给左边的变量
int b = 2;
注释
单行注释 //
// 单行注释(及取消注释) 快捷键 CTRL+/
多行注释
/* */ 多行注释(及取消注释) 快捷键 ctrl+shift+/
文档注释
/** */
注释的作用:增强代码的可读性
int q;//声明一个变量空间 空间的名字是q 空间内要求存储的类型是int整型
q = 2;//将2赋值到q空间内进行存储
/*
* q是变量空间 存在栈内存里 2是是常量 存在常量缓冲区 =是赋值
* */
解决办法:在后面写一个f
float ee = 5.55F;//大小写都可以
数据类型的常见问题
=赋值的时候做了一个自动的决定 自动类型转化
上图写错了
int范围是 -2的7次方~2的7次方-1(-128-127)
大小L都可解决
数据类型之间的转化
类型之间的转换问题
1.同种数据类型之间是可以直接进行赋值操作
int a = 1;int b = a; float x = 3.4;float y = x;
2.数据类型不同的空间 之间的赋值--->转换问题
同种大数据类型之间才能发生转换
基本类型----基本类型之间 可以直接转换(自动 强制)
引用类型----引用类型之间 可以直接转换(自动 强制--上转型 下转型)
基本类型----引用类型之间 不可以直接转换(间接--包装类/封装类)
3.保证大数据类型一致的前提下
基本类型---基本类型
小数据类型相同
都是整型 都是浮点
大空间变量可以直接存储小空间的数据
小空间变量不可以直接存储大空间的数据(需要强制类型转换)
转换过程写法都好用 如果转换的过程中数值范围超过边界 可能会有损失
byte a = 1; int b = a;//自动直接转化就可以
int a = 1; byte b = (byte)a;//需要强制类型转换
float x = 3.4F; double y = x;//自动直接转化
double x = 3.4; float y = (float)x;//强制转换
小数据类型不同
整型---浮点型
两个比较精确程度 浮点型精确程度更高 可以直接存放整数 反之需要强制转换
任何一个浮点型都可以直接存放一个整型
int a = 1; float b = a;//自动直接转化
float a =1.0F; int b = (int)a;//强制类型转换
整型---字符型
每一个字符都对应这一个Unicode码 a--97
char x = 'a'; int y = x;//自动转化 y--97
int x = 97; char y = (char)x;//强制的转化
布尔类型很特殊
不能与其他基本类型之间发生转化
引用类型之间后续...
char 2byte int 4byte 这下好理解了吧