JAVA程序入门知识

目录

一、IDEA的使用

1.项目创建

2.程序编写

二、添加注释comment

1.注释

2.注释分类

三、关键字keywords

1.关键字

四、标识符

1.标识符

2.命名规则: 硬性要求

3.命名规范: 软性建议

五、常量

1.概述

2.分类

六、变量和数据类型

1.变量概述

2.数据类型

2.1数据类型分类

2.2基本数据类型

3.变量的定义

4.注意事项

 七、数据类型转换

1.概述

2.自动转换

2.1自动转换概述

2.2转换原理

2.3转换规则

3.强制转换

3.1强制类型转换概述及格式

3.2强烈注意

八、ASCII编码表

九、运算符

1.算术运算符

2.赋值运算符

3.比较运算符

4.逻辑运算符

5.三元运算符

十、方法入门

1.概述

2.方法的定义

3.方法的调用

4. 调用方法的三种形式

5. 方法重载

6.注意事项


一、IDEA的使用

1.项目创建

a.创建项目project
b.创建模块module
c.在src下面创建软件包package
d.在包下面创建类class

2.程序编写

a.在所建的类class中创建main函数

b.在main函数中编写程序(例如编写HellWorld)

public class Test {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}


二、添加注释comment

1.注释

        就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它不影响程序的编译和运行。

2.注释分类

a.单行注释://(快捷键ctrl+/)

public class Test {
    public static void main(String[] args) {
//        System.out.println("Hello World!");
    }
}

b.多行注释:/* */

public class Test {
    public static void main(String[] args) {
        System.out.println("Hello World!");
        /*System.out.println("Hello!");
        System.out.println("World!");*/
    }
}

c.文档注释:/** */

public class Test {
    public static void main(String[] args) {
        /**
         * 编写一个程序,输出"Hello World!"
         */
        System.out.println("Hello World!");
    }
}

三、关键字keywords

1.关键字

        是指在程序中,Java已经定义好的单词,具有特殊含义。HelloWorld案例中,出现的关键字有 public 、 class 、 static 、 void 等,这些单词已经被Java定义好,全部都是小写字母,notepad++中颜色特殊。关键字比较多,不能死记硬背,学到哪里记到哪里即可。

四、标识符

1.标识符

        是指在程序中,我们自己定义内容。比如类的名字、方法的名字和变量的名字等等,都是标识符。HelloWorld案例中,出现的标识符有类名字 HelloWorld 。

2.命名规则: 硬性要求

a.标识符可以包含 英文字母26个(区分大小写) 、 0-9数字 、 $(美元符号) 和 _(下划线) 。

b.标识符不能以数字开头。

c.标识符不能是关键字。

3.命名规范: 软性建议

a.类名规范:首字母大写,后面每个单词首字母大写(大驼峰式),例如HelloWorld。

b.方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式),例如sayHello。

c.变量名规范:全部小写。

五、常量

1.概述

常量:是指在Java程序中固定不变的数据。

2.分类

类型含义数据举例
整数常量所有的整数0,1,567,-9,-1
小数常量所有的小数0.0,-0.1, 2.55,3.14
字符常量单引号引起来,只能写一个字符,必须有内容'a','好'
字符串常量双引号引起来,可以写多个字符,也可以不写"A","Hello","你好"," "
布尔常量只有两个值true ,false
空常量只有一个值null

public class Test{
	public static void main(String[] args){
		
		//字符串常量
		System.out.println("A");
		System.out.println("");
		System.out.println("Hello");
		
		//整数常量
		System.out.println(30);
		System.out.println(-20);
        System.out.println(20);
		
		//浮点型
		System.out.println(3.14);
		System.out.println(-2.5);
		
		//字符常量
		System.out.println('A');    
		
		//布尔常量
		System.out.println(true);
		System.out.println(false);
				
	}
	
}

六、变量和数据类型

1.变量概述

变量:常量是固定不变的数据,那么在程序中可以变化的量称为变量。

数学中,可以使用字母代替数字运算,例如 x=1+5 或者 6=x+5。

程序中,可以使用字母保存数字的方式进行运算,提高计算能力,可以解决更多的问题。比如x保存5,x也可以保存6,这样x保存的数据是可以改变的,也就是我们所讲的变量。

Java中要求一个变量每次只能保存一个数据,必须要明确保存的数据类型。

2.数据类型

2.1数据类型分类

Java的数据类型分为两大类:

基本数据类型:包括 整数 、 浮点数 、 字符 、 布尔 。

引用数据类型:包括 类 、 数组 、 接口 。

2.2基本数据类型

四类八种基本数据类型:

数据类型关键字内存占用取值范围
字节型byte1个字节-128~127
短整型short2个字节-32768~32767
整型int(默认)4个字节-231次方~2的31次方-1
长整型long8个字节2的63次方~2的63次方-1
单精度浮点数float4个字节1.4013E-45~3.4028E+38
双精度浮点数double(默认)8个字节4.9E-324~1.7977E+308
字符型char2个字节0-65535
布尔类型boolean1个字节true, false

a.Java中的默认类型:整数类型是 int 、浮点类型是 double 。

b.取值范围由小到大排列:byte,short,char,int,long,float,double。

3.变量的定义

a.变量定义的格式包括三个要素: 数据类型 、 变量名 、 数据值 。

b.格式:数据类型 变量名 = 数据值;

c.建议:long类型数据后加L或者l表示;float类型数据后加F或者f表示。

public class Test{
	public static void main(String[] args){
		//创建整型变量
		//数据类型 变量名称
		int num1;
		//变量名称 = 数据值 
		num1 = 10;
		System.out.println(num1);
			
		//改变num1的值
		num1 = 20;
		System.out.println(num1);
		
		//一步到位的方式定义变量
		int num2 = 25;
		System.out.println(num2);
		
		//也可以进行改变
		num2 = 35;
		System.out.println(num2);
		
		
		System.out.println("=========================");

		//定义字节类型变量
		byte num3 = 30;
		System.out.println(num3);
		
		//定义短整型类型变量
		short num5 = 50;
		System.out.println(num5);
		
        //定义长整型类型变量
		long num6 = 200000L;     //如果是long类型的数据,需要在值后面加L
		System.out.println(num6);
		
		//定义单精度浮点类型
		float  num7 = 2.5F;  //定义浮点类型数据后面一定要加F
		System.out.println(num7);
		
        //定义双精度浮点类型
		double num8 = 2.34;
		System.out.println(num8);
		
        //定义字符类型
		char chars = 'A';
		System.out.println(chars);
		
        //定义布尔类型
		boolean flag = true;
		System.out.println(flag); //true
		
		flag = false;
		System.out.println(flag); //false
		
	}
}

4.注意事项

a.变量名称:在同一个大括号{}范围内,变量的名字不可以相同。变量的名称,全小写,见名知意。

b.变量赋值:定义的变量,不赋值不能使用。变量的赋值,不能超过变量类型的作用范围。

public class Test{
	
	public static void main(String[] args){
		int num1 =10;   //创建一个num1变量,给他赋值10
		System.out.println(num1);
		
		{
			int num6=20;
			System.out.println(num6);
		}
		//System.out.println(num6);// 已经超过了大括号范围.错误
		
		//定义三个变量,都是int类型
		int a,b,c;  //正确
		a = 100;
		b = 200;
		c = 300;
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		
		int x=100, y= 300,z=1000;
		System.out.println(x);
		System.out.println(y);
		System.out.println(z);	
	}
	
}

 七、数据类型转换

1.概述

        Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。

2.自动转换

2.1自动转换概述

a.将取值范围小的类型自动提升为取值范围大的类型 (Java自动执行 )。

public class Test{
	
	public static void main(String[] args){
		 // byte  -128 ~ 127
		System.out.println(1024); // 整数默认数据类型是int类型
		System.out.println(3.14);  // 浮点数默认类型是double类型
		
		//左边是long类型,右边默认是int类型,左右不一样
		// 一个等号代表赋值,将右边的int常量,交给左侧的long变量进行存储
		// int --> long 复合范围要求,从小到大的要求
		// 这行代码发生的是自动类型转换
		long  num1 = 100;
		System.out.println(num1); //100
		
		//复合从小范围到大范围的转换   自动转换
		double num2 = 2.5F;  //float 类型
		System.out.println(num2);//2.5	
		//long类型转换float类型  
		float num3 = 30L; 
		System.out.println(num3);//30.0		
	}
}

2.2转换原理

 a.根据语言的类型转换规则,将源数据类型的值转换为目标数据类型的值,以便在表达式或操作中使用。

2.3转换规则

a.范围小的类型向范围大的类型提升, byte、short、char 运算时直接提升为 int 。

byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double

3.强制转换

3.1强制类型转换概述及格式

a.概述将取值范围大的类型强制转换成取值范围小的类型 (需要我们自己手动执行 )。

b.格式:数据类型 变量名 = (数据类型)被转数据值;

public class Test{
	public static void main(String[] args){
		
		//左边是int类型,右边是long类型,不一样
		// long --> int 不能从小到大,强制类型转换
		int num1 = (int)100L;
		System.out.println(num1);
		
		int num2 = (int)6000000000L;
		System.out.println(num2);
		
		// double --> int  强制类型转换
		int  num3 = (int)3.99;
		System.out.println(num3);
		
		char char1 = 'A'; //A相当是一个字符.
		System.out.println(char1+1);  //A被当成65进行处理  
		//计算机底层会用数字(二进制码)来代表字符A, 就是65,
		//按照上面的规则,char类型进行运算,会把他按照一定规则提升为int类型进行使用
		
		//short类型  
		// 在进行运算的时候,也是要先提升到int类型  
		short num6 = 60;
		// int -- > short 
		short result2 =(short) (num4 + num6);
		System.out.println(result2);
		
	}
}

3.2强烈注意

a.浮点转成整数,直接取消小数点,可能造成数据损失精度。

b.int 强制转成 short 砍掉2个字节,可能造成数据丢失。

c.boolean类型不能发生数据类型转换。

八、ASCII编码表

编码表 :就是将人类的文字和一个十进制数进行对应起来组成一张表格。

字符数值
048
957
A65
Z90
a97
z122

public class Test{
	
	public static void main(String[] args){
		char zifu1 = '1';
		System.out.println(zifu1 + 0); //49
		
	    char zifu2 = 'A';  //底层就是65;
		
		char  zifu3 = 'c';

		//char类型会进行自动转换
		//char  < int  从小到大转换.
		int num = zifu3;
		System.out.println(num);
		
		char zifu4 = '中';
		System.out.println(zifu4 + 0);  
		
	}
}

九、运算符

1.算术运算符

算术运算符含义
+加法运算,字符串连接运算
-减法运算
*乘法运算
/除法运算
%取模运算,两个数字相除取余数
++、--自增自减运算

Java中,整数使用以上运算符,无论怎么计算,也不会得到小数  

public class Test {

    public static void main(String[] args) {
        int i = 1234;
        System.out.println(i/1000*1000);//计算结果是1000 
    }
}

a.++ 运算,变量自己增长1。反之, -- 运算,变量自己减少1,用法与 ++ 一致。  

独立运算:

​         变量在独立运算时,前++ 和 后++ 没有区别 。

​         变量前++ :例如 ++i 。

​         变量后++ :例如 i++ 。

混合运算:

​        和其他变量放在一起, 前++ 和 后++ 就产生了不同。

​        变量前++ :++在变量前,先+1,再参与其他运算。

        变量后++ : ++在变量后,先参与其他运算,再+1

常量不能进行自增自减操作。

public class Demo06Operator{
			
	public static void main(String[] args){
		int num1 = 10;
		System.out.println(num1); //10;
		++num1; // 单独使用  前++ ;
		System.out.println(num1); //11
		num1++; // 单独使用 后++
        System.out.println(num1); // 12	
		System.out.println("=============="); 		
		
		//与打印混合使用
		int num2 = 20; 
		//混合使用前++ 
		System.out.println(++num2);//21 
		System.out.println(num2);//21
		System.out.println("=============="); 	
		
		//混合使用后++
		int  num3 = 30;
		System.out.println(num3++);//30
		System.out.println(num3);//31
		System.out.println("=============="); 
        
		//变量之间的混合运算
		int  num4 = 40;
		int result1 = --num4; // 因为-- 在前 ,立刻马上 -1  运算后的结果39 赋值给result1
		System.out.println(result1);//39
		System.out.println(num4);//39
		System.out.println("=============="); 
		
		//后--
		int num5 = 50;
		int result2 = num5--;
		System.out.println(result2); // 50  因为  --在后  会把本身值先赋值给result2 
		System.out.println(num5);//49 
		System.out.println("=============="); 
		
		//混合运算;
		int x = 10;
		int y = 20;
		// 11 + 20 =31
		int result3 = ++x + y--;
		System.out.println(result3);
		System.out.println(x);
		System.out.println(y);
		
        // 10++; 常量是不能进行  自减	
	}
}
public class Test{

	 public static void main(String[] args){
		 //两个常量之间可以直接进行数学运算
		System.out.println(20 + 30); //直接运算
		//定义两个变量
		int a = 20;
		int b = 30;
		System.out.println(b - a); 
		//变量和常量进行混合计算
		System.out.println(b *10); 
		
		int x = 10;
		int y = 3;
		int result1 = x % y;
		System.out.println(result1);  // 1
		// int  + double   --> double + double --> double
		double result3 = x + 2.5;
		System.out.println(result3);// 12.5
		
		 
	 }
}

b.+ 符号在字符串中的操作:

        ​ 符号在遇到字符串的时候,表示连接、拼接的含义。

        ​ "a"+"b"的结果是“ab”,连接含义。

public class Test{

	public static void main(String[] args){
		//定义字符串类基本使用
		String str1 = "Hello";
		System.out.println(str1); //Hello
		System.out.println("Hello" + "World!");// HelloWorld
		
		String str2 = "Java";
		//字符串加 数字
		System.out.println(str2 + 20);// Java20
		
		//优先级问题
		//String  + int + int;  
		// String  + int
		System.out.println(str2 + 20 + 30);  // java2030 
		System.out.println(str2 + (20 + 30)); // Java50
	
	}
}

2.赋值运算符

赋值运算符含义
=等于号
+=加等于
-=减等于
*=乘等于
/=除等于
%=取模等

赋值运算符,就是将符号右边的值,赋给左边的变量。

public class Test{

	public static void main(String[] args){
		   int  a = 30;
		   // a = 30 + 5;
		   a  += 5;
		   System.out.println(a);// a= 35;
		   
		   int x = 10;
		   // x = 10 % 3;
		   x %= 3;
		   System.out.println(x);// x = 1;
		   
		   byte num = 30;
		   // num = num +5;
		   // num  = byte  + int;
           // num = (byte) int;
           // num  = int
		   // num  = int  + int;
		   num += 5;
		   System.out.println(num);// num = 35
		   
	}
}

3.比较运算符

比较运算符含义
==        比较符号两边数据是否相等,相等结果是true。
<比较符号左边的数据是否小于右边的数据,如果小于结果是true。
>比较符号左边的数据是否大于右边的数据,如果大于结果是true.
<=比较符号左边的数据是否小于或者等于右边的数据,如果小于结果是true。
>=比较符号左边的数据是否大于或者等于右边的数据,如果小于结果是true。
!=不等于符号,如果符号两边的数据不相等,结果是true。

比较运算符,是两个数据之间进行比较的运算,运算结果都是布尔值 true 或者 false 。  

public class Test{
	
	public static void main(String[] args){
		System.out.println(10 > 5 );  //true
        int num1 = 10;
        int num2 = 12;
        System.out.println(num1 < num2); //true
        System.out.println(num1  >= 100);//false

        System.out.println(10 == 10);//true
        System.out.println(10 != 20);//true
		
	}
	
}

4.逻辑运算符

逻辑运算符含义
&& 短路与1.两边都是true,结果是true
2.一边是false,结果是false
短路特点:符号左边是false,右边不再运算
|| 短路或1.两边都是false,结果是false
2.一边是true,结果是true
短路特点:符号左边是true,右边不再运算
!取反1.!true 结果是false
2.!false结果是true

逻辑运算符,是用来连接两个布尔类型结果的运算符,运算结果都是布尔值 true 或者 false。

public class Test{
	
	public static void main(String[] args){
		 
		 System.out.println(true && false); //false
		 
		 System.out.println(3 < 4 && 10 > 5 );//true
		 
		 System.out.println("=========");
		 
		 System.out.println(true || false);  //true
		 System.out.println(false || true);  //true
		 System.out.println(false || false);  //false
		 
		 System.out.println("=========");
		 System.out.println(true);//true
		 System.out.println(!true);//false
		 
		 System.out.println("=========");
		int a = 10;
		System.out.println(3 > 4 && ++a < 100); //false
		System.out.println(a);//10
		System.out.println("=========");
			
		int b = 20;
		System.out.println(3 < 4 || ++b < 100 );//true 
		System.out.println(b);//20
		 
	}	
}

5.三元运算符

a.三元运算符格式: 数据类型 变量名 = 布尔类型表达式?结果1:结果2

b.三元运算符计算方式:

        布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。

​        布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。

注意:结果1和结果2类型一致,需要和前面的数据类型一致。

十、方法入门

1.概述

        我们在学习运算符的时候,都为每个运算符单独的创建一个新的类和main方法,我们会发现这样编写代码非常的繁琐,而且重复的代码过多。能否避免这些重复的代码呢,就需要使用方法来实现。

方法:就是将一个功能抽取出来,把代码单独定义在一个大括号内,形成一个单独的功能。

当我们需要这个功能的时候,就可以去调用。这样即实现了代码的复用性,也解决了代码冗余的现象。

2.方法的定义

a.定义格式:

修饰符 返回值类型 方法名 (参数列表){ 
   //功能代码
    return语句;

b.定义格式解释:

        修饰符: 影响方法的访问权限、行为和特性。常见的修饰符包括:public、protected、private、static、final、abstract

​        返回值类型: 指定方法执行完后返回的值的类型,例如 int、String、double 、void等(void: 表示方法不返回任何值)。

​        方法名:为我们定义的方法起名,满足标识符的规范,用来调用方法。

​        参数列表: 包含方法接受的输入参数,用圆括号括起来;参数类型:指定每个参数的数据类型;参数名:是参数的标识符,在方法内部使用。

        ​return:方法结束。如果返回值类型是void,方法大括号内的return可以不写。

c.举例:

public static void method() { 
    System.out.println("这是一个方法"); 
}

3.方法的调用

a.方法在定义完毕后,方法不会自己运行,必须被调用才能执行,我们可以在主方法main中来调用我们自己定义好的方法。在主方法中,直接写要调用的方法名字就可以调用了。

public class Test{
	
	//我
	public static void me(){
		System.out.println("吃");
	}
	
	//厨师
	public static void cook(){
		System.out.println("洗菜");
		System.out.println("切菜");
		System.out.println("炒菜");
		System.out.println("装盘");	
		
	}
	
	//农名伯伯
	public static void farmer(){
		//农名伯伯
		System.out.println("播种");
		System.out.println("浇水");
		System.out.println("施肥");
		System.out.println("除虫");
		System.out.println("收割");
		System.out.println("卖给小商贩");
	}
	
	//小商贩
	public  static void seller(){
		//小商贩
		System.out.println("运输到农贸市场");
		System.out.println("抬高物价");
		System.out.println("卖给厨子");
		
	}
	
	
	public static void main(String[] args){
		  //方法的调用
		  farmer();
		  seller();
		  cook();
		  me();		
	}

}

b.流程图解

 

4. 调用方法的三种形式

a.直接调用:直接写方法名调用 。

public class Test {
    public static void main(String[] args) {
        print();
    }
    public static void print() {
        System.out.println("方法被调用");
    }
}

b.赋值调用:调用方法,在方法前面定义变量,接收方法返回值 。

public class Test {
    public static void main(String[] args) {
        int sum = getSum(5,6);
        System.out.println(sum);
    }
    public static int getSum(int a,int b) {
        return a + b;
    }
}

c.输出语句调用:在输出语句中调用方法, System.out.println(方法名()) 。

public class Test {
    public static void main(String[] args) {
        System.out.println(getSum(5,6));
    }
    public static int getSum(int a,int b) {
        return a + b;
    }
}

5. 方法重载

a.方法重载:指在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即可,与修饰符和返回值类型无关。

参数列表:个数不同,数据类型不同,顺序不同。

重载方法调用:JVM通过方法的参数列表,调用不同的方法。

 b.方法重载练习

        比较两个数据是否相等。参数类型分别为两个 byte 类型,两个 short 类型,两个 int 类型,两个 long 类型,并在main方法中进行测试。

/*
 注意事项:
 1.参数个数不同.
 2.参数类型不同
 4.参数的多类型顺序不同

 方法重载与下列因素无关
 1.与参数的名称无关
 2.与方法的返回类型无关

 总结:
  方法的重载: 就是在一个类中方法名相同, 参数不同,(参数的个数,参数的类型不同,参数的顺序不同)
 */

public class Test {
    public static void main(String[] args) { 
        //定义不同数据类型的变量 
        byte a = 10; 
        byte b = 20; 
        short c = 10;
        short d = 20;
        int e = 10; 
        int f = 10; 
        long g = 10; 
        long h = 20; 
        // 调用 
        System.out.println(compare(a, b)); 
        System.out.println(compare(c, d)); 
        System.out.println(compare(e, f)); 
        System.out.println(compare(g, h)); 
    }
    
    // 两个byte类型的 
    public static boolean compare(byte a, byte b) { 
        System.out.println("byte"); 
        return a == b; 
    }
    
    // 两个short类型的 
    public static boolean compare(short a, short b) { 
        System.out.println("short"); 
        return a == b; 
    }
    
    // 两个int类型的
    public static boolean compare(int a, int b) {
        System.out.println("int"); return a == b;
    }
    
    // 两个long类型的 
    public static boolean compare(long a, long b) {
        System.out.println("long"); 
        return a == b;
    }
}

6.注意事项

a.方法的命名遵循小驼峰规范。

b.方法的定义先后顺序无所谓,不影响方法的执行顺序。

c.方法定义好,调用之后才会执行,不调用不执行。

d.方法定义的时候不能产生嵌套关系,但是方法里面可以调用其他方法。

e.返回值类型,必须要和 return 语句返回的类型相同,否则编译失败 。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值