2020年最新Java全套教程Java第一行代码和数据类型

Java第一行代码和数据类型

1. Java第一行代码

1.1 Notepad++准备
<code>a. 设置 --> 首选项 --> 新建
环境选择 windows

编码集 ANSI

b. 设置 --> 首选项 --> 自动完成
全部反选/<code>
1.2 第一行代码
<code>class FirstJava {

public static void main(String[] args) {

System.out.println("欢迎来到骚磊的课堂~~~");

}

}/<code>

1.3 编译执行
<code>javac 编译工具
javac 源文件名.java

例如:

javac FirstJava.java

编译之后会生成一个 FirstJava.class文件,
.class字节码文件,二进制文件,需要借助于JVM执行解释给CPU



java 执行工具
java 类名

例如:

java FirstJava

终端:

欢迎来到骚磊的课题~~~/<code>
1.4 第一行代码出现的问题
<code>1. 注意拼写错误!!!
大小写错误,单词拼写错误
2. 标点符号问题
Java代码中基本上所有的开发使用标点符号都是英文标点符号
3. 成双成对的标点符号一起写完
{} [] () <> "" ''

4. 编码问题
Notepad++ 编码 ==> 转为ANSI即可!!!/<code>

2. 代码规范【重点】

参考AJCG 阿里巴巴Java开发规约来完成的
2.1 标识符是什么
<code>刘晓磊 骚磊 翘臀 46号技师 老骚猴 老骚


开发中标识符就是名字
类名,方法名,变量名 /<code>
2.2 AJCG【重点】
<code>1. 标识符可以使用的字符范围,英文字母(A ~ Z a ~ z) 数字(0 ~ 9) 唯一可以使用的标点符号 _  


2. 标识符要求必须英文字母开头
3. 标识符严格区分大小写,大写A和小写a完全不一样!
4. 标识符没有严格的长度限制,但是会根据实际需求来限制标识符的长度
5. 标识符组需要做到见名知意,动宾结构!!!
规范格式
studentAge studentScore 见名知意
getStudentAge setStudentAge 动宾结构
title logo banner

payTime



不允许格式:

      int a, b, c, d, e, f, g;

      img0 img1 img2 img3 img4 img5

      payBeizhu 不允许
      tsgly 图书管理员!!! 不允许


6. 推荐使用驼峰命名法和下划线命名法
小驼峰命名法:【适用于 变量名,方法名】
标识符首字母小写,之后的每一个单词首字母大写
studentAge studentScore 见名知意
getStudentAge setStudentAge 动宾结构
iPhone iMac iTouch

大驼峰命名法:【适用于 类名,接口名】

标识符所有的单词首字母全部大写
FirstJava String

下划线命名法:
所有的字母都是大写的情况下,为了区分单词直接的间隔,使用下划线命名法
JAVA_HOME CLASS_PATH

DEFAULT_CAPACITY



7. 已经被Java使用的关键字和保留字不得用于自定义标识符使用
变色的不能使用,大写开头的不能使用/<code>

3. 变量【重点】

3.1 基本定义
<code>a. 变量是定义在计算机内存中
1. 明确的数据类型
2. 明确的变量名
3. 明确的对应数据
b. 基本的定义格式
1.

数据类型 变量名;



变量名 = 对应数据类型的值; = 赋值
2.

数据类型 变量名 = 对应数据类型的值;


c. 变量分类
a. 基本数据类型
八大基本数据类型
整数
小数
布尔
字符
b. 引用数据类型
字符串
数组
对象/<code>
3.2 基本数据类型

整型

占用内存空间大小

取值范围

byte

1字节

short

2字节

int

4字节

long

8字节

浮点型

占用内存空间大小

取值范围

float

4字节

10^38

double

8字节

10^308

布尔类型

占用内存空间大小

取值范围

boolean

1字节

true/false

字符型

占用内存空间大小

取值范围

char

2字节

能够保存中文

3.3 定义变量的第一行代码
<code>class VariableTest {

public static void main(String[] args) {

/* 整型变量 */
byte byteNumber = 10;

short shortNumber = 20;

int intNumber = 30;

long longNumber = 40L;



/* 整型变量展示 */
System.out.println(byteNumber);

System.out.println(shortNumber);

System.out.println(intNumber);

System.out.println(longNumber);



/* 浮点型变量 */
float floatNumber = 3.14F;

double doubleNumber = 0.618;



/* 浮点型变量展示 */
System.out.println(floatNumber);

System.out.println(doubleNumber);



/*
字符型变量
字符常量:
单引号包含的单个元素 'a'
*/
char ch1 = 'A';

char ch2 = '中';



/* 字符型变量展示 */
System.out.println(ch1);

System.out.println(ch2);



/* 布尔类型 */
boolean ret1 = true;

boolean ret2 = false;



/* 布尔类型变量展示 */
System.out.println(ret1);

System.out.println(ret2);



// int num;
// System.out.println(num);


// num = 10;
}

}/<code>
3.4 定义变量的问题总结
3.4.1 数据类型不兼容问题
<code>VariableTest.java:16: 错误: 不兼容的类型: 从double转换到float可能会有损失
                float floatNumber = 3.14;
                                    ^
1 个错误
 
计算机为了保证数据的精度,同时为了数据后期的延展性,会默认把所有的小数都认为是double类型,double占用的内存空间是8字节,而float是4字节,会报错。这里需要告诉计算机3.14是一个float类型,在小数之后加上一个大写F
                   修改:
                                      float floatNumber = 3.14F;/<code>
3.4.2 long类型变量赋值操作要求
<code>【要求】
                   给予long类型的数据需要在常量之后加上一个大写L,明确告知计算机这里使用的是一个long类型数据
                   修改:
                                      long longNumber = 40L;/<code>
3.4.3 Java中变量未赋值不能使用
<code>VariableTest.java:44: 错误: 可能尚未初始化变量num
                System.out.println(num);
                                   ^
1 个错误
 
Java中规定,一个变量在没有被赋值的情况下,不能参与除赋值之外的其他任何操作。
避免了没有必要的野值问题。/<code>
3.4.4 未定义不能使用
<code>VariableTest.java:46: 错误: 找不到符号
                num = 10;
                ^
  符号:   变量 num
  位置: 类 VariableTest
1 个错误
 
Java中规定,变量未定义不能使用
必须先定义,后使用/<code>

4. 字符

4.1 字符常量基本概念
<code>英文单引号包含的单个元素/<code>
4.2 转义字符
<code>\\ 转义字符标记
将带有特定含义字符转换为无意义字符
或者把无意义字符,转换成带有一定含义字符
 

常用:
                   \\'
                   \"
                   \\n 回车
                   \\t tab键 制表符
 
转义字符有且只能处理一个字符
                   \\\\ 表示一个反斜杠
                   \\\\\\\\ 表示两个反斜杠/<code>
4.3 字符常量使用要求
<code>有且只允许使用字符本身!!!
                   'A' 'a'
 
优势:
                   1. 阅读性好
                   2. 保证数据类型一致化
                   3. 减少了没有必要的歧义/<code>

5. 字符串【初次相识】

5.1 字符串数据类型
<code>字符和字符串什么关系?
                   羊肉和羊肉串关系就可以认为是字符和字符串的关系
字符串特定标记
                   "" 英文双引号包含的所有内容都是字符串本身,并且是一个常量,不可以修改
String字符串数据类型/<code>

6. 类型转换【了解】

6.1 自动类型转换
<code>小数据类型转换到大数据类型/<code>
6.2 强制类型转换
<code>强制类型转换,是从大数据类型到小数据类型的转换过程。
double类型数据保存到int类型,这里需要强制类型转换
格式:
                   double num1 = 3.5;
                                     
                   // 这里存在数据精度丢失,并且是不可以逆
                   int num2 = (int) num1;
                  
【个人建议】
                   对于基本数据类型的强制类型转换,个人不建议使用,这里会导致数据精度的丢失,并且有可能导致其他问题。
                  
                   强制类型转换在面向对象开发中,可以用来操作对象直接的关系/<code>

7. 运算符

7.1 算术运算符
<code>+ - * / % ()
 
1. 从左至右计算
2. 先乘除后加减
3. 有括号先处理括号里面的内容
4. 除数不能为0

 
%
7 ÷ 3 = 2 …… 1
2 相除的结果
1 是余数
 
优先级问题:
                   简单粗暴加括号
 
= 赋值号
                   作用是将赋值号右侧的数据,赋值给左侧的【变量】
 
算术运算符优化
                   +=, -=, *=, /=, %=
例如:
                   int num1 = 10;
                   int num2 = 20;
                  
                   num2 = num1 + num2; ==> num2 += num1;/<code>

源码请私信或下载

https://gitee.com/qfjiaoyan/javabase


分享到:


相關文章: