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个