Java 第一行代码和数据类型
1.Java第一行代码
Notepad++准备
a.设置--->首选项--> 新建
环境选择 windows
编码集 ANSI
b.设置--->首选项--->自动完成
全部反选
1.2第一行代码
public class FirstJava { public static void main(String[] args) { System.out.println("Hello,World!"); } }
public class FirstSample { public static void main(String[] args) { System.out.println(2.0-1.1); // 0.8999999999999999 } } public: 访问修饰符(access modifier), 用于控制程序的其他部分对这段代码的访问级别. class: 表明Java程序中的全部内容都包含在类中. 类是构建所有Java应用程序和applet的构建块,所有源代码的基本组织单位. Java应用程序中的全部都必须放置在类中. 关键字class后面紧跟类名. java中定义类名的规则: 名字必须以字母开头,后面可以跟字母和数字的任意组合, 长度基本没有限制. 类名是以大写字母开头的名词, 驼峰命名(标准命名规范). 不能使用Java保留字 源代码的文件名必须与公共类的名字相同, 并用java作为扩展名. 根据Java语言规范, main方法必须声明为public(Java语言规范是描述Java语言的官方文档.) {} 代码块 public static void main(String[] args) 每个Java应用程序都必须有一个main方法,固定写法。 main方法必须是静态的, void标识这个方法没有返回值. 这一行代表程序执行的起点 Java中, 每个句子必须用分号结束, 如果需要可以将一条语句卸载多行上. System.out.println() 使用了System.out对象并调用了他的println方法. . 用于调用方法, 等价于函数调用. 不带参数的println方法值打印一个空行 print方法打印不换行 注释 // 从开始到本行结束 /*和*/ 长篇注释 /**和*/ 可以自动生成文档
1.3编译执行
javac 编译工具
javac FirstJava.java
编译后会生成一个 FirstJava.class文件,
.class字节码文件,也叫二进制文件,需要借助于JVM(java虚拟机)解释给CPC
java 执行工具
java 类名
例如:
java FirstJava
终端:
HelloWorld!
第一行代码出现的问题
1.注意拼写错误!!
大小写错误,单词拼写错误。
2.标点符号问题:
Java代码中基本上所有的开发使用标点符号都为英文符号。
3.成双成对的标点符号一起写完
{ } [ ] ( ) < > " " ' '
4.编码问题
Notepad++ 编码==》 转为ANSI即可!!!
2.1标识符是什么
如:自己的名字
开发中标识符就是名字
类名,方法名,变量名
2.2代码规范 AJCG 【重点】
参考AJCG阿里巴巴Java开发规约来完成的
a.能够使用的字符范围是英文字母(A~Z a~z);数字字符(0~9)唯一可以使用的标识符号_
b.标识符必须使用英文字母开头
c.标识符严格区分大小写
d.标识符没有严格的长度限制,可以根据实际的业务需求来确定标识符的长度
e.标识符需要做到见名知意,动宾结构
f.标识符需要使用驼峰命名法或者下划线命名法
小驼峰(适用于变量名,方法名)
标识符首字母小写,之后每一个单词首字母大写
studentAge studentScore 见名知意
getStudentAge SetStudentAge 动宾结构
iPhone iMac iTouch
大驼峰 (适用于类名,接口名)
标识符所有的单词首字母全部大写
FirstJava String HelloWorld
下划线命名法
所有的字母都是大写的情况下,为了区分单词直接的隔,使用下划线命名法.
JAVA_HOME CLASS_PATH DEFAULT_CAPACITY
g.已经被Java占用的关键字和保留字不得用于自定义标识符使用
(变色的不能使用,大写开头的不能使用)
3.变量【重点】
3.1基本定义
a.变量是定义再计算机内存中
1.明确的数据类型
2.明确的变量名
3.明确的对应数据
b.基本的定义格式
1.
数据类型 变量名;
变量名 = 对应数据类型的值; = 赋值
2.
数据类型 变量名 = 对应数据类型的值;
c.变量分类
1.基本数据类型
八大基本数据类型
整数
小数
布尔
字符
2.引用数据类型
字符串
数组
对象
3.2基本数据类型
整形 | 占用内存空间大小 | 取值范围 |
---|---|---|
byte | 1字节 | -128~127 |
short | 2字节 | -32768~32767 |
int | 4字节 | -2147483648~2147483647 |
long | 8字节 | -9223372036854775808~9223372036854775807 |
浮点型 | 占用内存空间大小 | 取值范围 |
---|---|---|
float | 4字节 | 10^38 |
double | 8字节 | 10^308 |
布尔类型 | 占用内存空间大小 | 取值范围 |
---|---|---|
boolean | 1字节 | true/false |
字符型 | 占用内存空间大小 | 取值范围 |
---|---|---|
char | 2字节 | 能够保存中文 |
3.3定义变量的第一行代码
public class VaribleTest{ public static void main(String[] args) { /*整形变量*/ byte byteNumber = 10; short shortNumber = 20; int intNumber = 30; long longNumber = 40L; /*整形变量展示*/ System.out.pringln(byteNumber); System.out.pringln(shortNumber); System.out.pringln(intNumber); System.out.pringln(longNumber); /*浮点类型展示*/ float floatNumber = 3.14F; double doubleNumber = 0.618; /*浮点类型展示*/ System.out.pringln(floatNumber); System.out.pringln(doubleNumber); /*字符型变量 字符常量: 单引号包含的单个元素'a' */ char ch1 = 'A'; char ch2 = '中'; /*浮点类型展示*/ System.out.pringln(ch1); System.out.pringln(ch2); /*布尔类型*/ boolean ret1 = ture; boolean ret2 = false; /*布尔类型变量展示*/ System.out.pringln(ret1); System.out.pringln(ret2); // int num; // System.out.pringln(num) // num = 10; } }
3.4定义变量的问题总结
3.4.1数据类型不兼容问题
variableTest.java:16:错误:不兼容的类型:从double转换到 floar可能会有损失
float floatNumber = 3.14;
1个错误
计算机为了保证数据的精度,同时为了数据后的延展性,会默认把所有的小数都认为是double类型,double占用的内存是8字节,float是4字节,这里需要告诉计算机3.14是一个float类型,在小数之后加上一个大写F;
修改:
float floarNumber = 3.14F;
3.4.2 long类型变量赋值操作要求
【要求】
给与long类型的数据需要在常量之后加上一个大写的L,明确告知计算机这里使用的是一个long类型数据
修改:
long longNumber = 40L;
3.4.3 Java中变量未赋值不能使用
variebleTest.java:46:错误:找不到符号
num = 10;
^
符号: 变量 num
位置: 类 VariableTest
1个错误
java中规定,变量未定义不能使用,必须先定义,后使用
4.字符
4.1字符常量基本概念
英文单引号包含的单个元素
4.2转义字符
\ 转义字符标记
将带有特定含义字符转换为无意义字符,或者把无意义字符,转换成带有一定含义字符
常用:
\ '
\ "
\ n 回车,换行
\ t tab键 制表符
转义字符有且只能处理一个字符
\ \ 表示一个反斜杠 \
\ \ \ \ 表示两个反斜杠 \ \
4.3字符常量使用要求
有且只允许使用字符本身!!!
’A' 'a'
优势:
1.阅读性好
2.保证数据类型一致化
3.减少了没有必要的歧意
5.字符串【初次相识】
5.1 字符串数据类型
字符和字符串什么关系?
如:羊肉和羊肉串关系就可以认为是字符和字符串的关系
字符串特定标记
“ ” 英文双引号包含的所有内容都是字符串本身,并且是一 个常量,不可以修改 String字符串数据类型
6.自动类型转换
6.1自动类型转换
小数据类型转换到大数据类型数据
6.2强制类型转换
强制类型转换,是从大数据类型到小数据类型的转换过程。double类型数据保存到int类型,这里需要强制类型转换
格式:
double num1 = 3.5;
/ / 这是存在数据精度丢失,并且是不可逆的
int num2 = (int) num1;
【个人建议】
对于基本数据类型的强制类型转换,个人不建议使用,这里会导致数据精度的丢失,并且有可能导致其他问题。
强制类型转换在面向对象开发中,可以用来操作对象直接的关系
7.运算符
7.1算数运算符
加+ 减- 乘* 除/ % 取余数 ()括号
1.从左至右计算
2.先乘除后加减
3.有括号先处理括号里面的内容
4.除数不能为0
%
7 / 3 = 2 ......1
2为相除的结果
1是余数
优先级的问题:
简单粗暴加括号
赋值号
作用是将赋值号右侧的数据,赋值给左侧的【变量】
算数运算符优化 = : 赋值
+= , -=, *=, /=, %=
例如:
int num1 = 10;
int num2 = 20;
num2 = num1 + num2; ===> num2 += num1;
作业
1.每天本宝宝的代码写三遍,注意代码格式
2.整理好笔记
3.打字练习,每分钟300个