1.java基础_基础语法

一、java基础语法

1.java注意事项

1.对修改过后的java文件需要重新编译,才能够执行java
2.JAVA语言区分大小写
3.一个文件中最多只能够一个Public类,其他的类不限
4.每一个类最后编译的时候都对应一个.class文件
5.Public修饰的类必须作为文件名

public class Hello2{
	//主函数
	public static void main(String[] args){
		System.out.println("wwl learning java");
	}
}

2.注释介绍

被注释的文件不会被jVM 解释执行

单行注释

​ //comment

多行注释

​ /* comment */

文档注释 注释内容可以被jdk提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档

/**
*@author wwl
*version  1.0
*/
javadoc -d D:\\temp -author -version Demo1.java

3.java代码规范

​ 1.以类或者方法的时候要用javadoc来写

​ 2.非javadoc的注释主要告诉为什么这样写

​ 3.tab键选中向后移,shift+tab整体向左移动

​ 4.远算符和等号两边最好加空格

	int a = 10;

​ 5.原文件使用utf-8

​ 6.每一行字符不要超过80

​ 7.次行风格 行尾风格

public class demo1{
	行位风格
}
public class demo2
{
	次行风格
}

4.DOS常用命令

  1. DOS介绍:DOS(Disk Operating System)磁盘操作系统
  2. 常用的命令
    1. dir dir d:\abc\text 查看当前目录有什么
    2. cd 切换到其他盘下、当前盘的其他目录
    3. cd… 切换到上一级
    4. cd \ 切换到根目录
    5. cls 清屏
    6. exit 退出DOS

5.变量

变量是基本的组成单位

变量有基本三要素 类型+名称+值

public class Hello{

	//编写一个main方法
	public static void main(String[] args){
		int a = 1;	//变量
		System.out.println("hello,world~");
	}

}

int 整形

char 字符型

String 字符串

double 浮点型

变量的注意事项

​ 1.变量的内存中一个存储区域,不同的变量,类型不同,占用的空间大小不同

​ int 4个字节 double 8个字节

​ 2.该区域有自己的名称【变量名】和类型【数据类型】

​ 3.变量必须先声明,后使用,既有顺序

​ 4.该区域的数据/值可以在同一类型范围内不断变化

​ 5.变量在同一作用域内不能重名

​ 6.变量=变量名+值+数据类型。【变量三要素】

6.加号的使用

当加号两边是数字的时候做的是数值运算

当加号两边有一方为字符串的时候做的是拼接运算

public class adddign {
 public static void main(String[] args) {
     System.out.println(100+98);  //198
     System.out.println("100"+99); //10099
     System.out.println("100"+"10"); //10010
 }
}

7.数据类型

一、基本数据类型

数值型

1.整数型 byte,short,int,long

类型字节
byte1字节
short2字节
int4字节
long8字节
public class intdetil{
	public static void main(String[] args){
		int n1 = 1;
		//int n2 = 1l;  如果将后面加上L就是把long字节给int会溢出
	}
}

2.浮点型 float 4 double 8

​ 1.浮点数=符号位+指数位+尾数位(尾数部分可能丢失,造成精度损失)

​ 2.默认为double,声明成float时需要在后面加上f或者F

​ 3.浮点型常量有两种表示方法

​ ①十进制数形式

​ ②科学计数法 5.12e2 [5.12*10的2次方]

​ 4.通常情况下应该使用double,因为他比float更精确

​ 5.浮点数使用陷阱 请添加图片描述

​ 在判断的时候可以以两个数的差值进行判断

 double num11 = 2.7;
        double num12 = 8.1/3;
        if(num11 == num12){
            System.out.println("相等");
        }
        if(Math.abs(num11 - num12) < 0.00000000001){
            System.out.println("减法成立");
        }
//结果输出
减法成立

3.字符型 char 2 存放单个字节

4.布尔型boolean 1 存放 true ,false

二、引用数据类型

​ 1.类

​ 2.接口

​ 3.数组

8.标识符

就是给类,方法,变量起名字

1.标识符命名规则-----硬性要求

  • 数字,字母,下划线(_)和美元符($)组成
  • 不能以数字开头
  • 不能是关键字
  • 区分大小写
bj b2 _2b  ak47 Class helloworld
2b(X) class(x) #itheima(x)
    

2.软性建议

​ 标识符是一个单词全部小写

小驼峰命名法:变量

​ 标识符有多个单词的时候,第一个单词首字母小写,其他 单词首字母大写

大驼峰命名法:适合类

​ 一个单词的时候首字母大写,多个单词的时候每个单词首 字母大写

3.见名知意

9.键盘录入

Scanner 类

1.导包 2.创建对象 3.接收数据

//导包
import java.util.Scanner;
public class ScannerDemo1 {
    public static void main(String[] args) {
        //创建对象
        Scanner sc  = new Scanner(System.in);
            //接收数据
        int i = sc.nextInt();
        System.out.println(i);
    }
}

//输出结果
/*
输入1
输出1
*/

10.运算符

对字面或者变量进行操作的符号

1.算术运算符

+ - * / %

public class operatordemo01 {
public static void main(String[] args) {
//+
System.out.println(2 + 2);//4
//-
System.out.println(1.1 - 1.01);//0.09000000000000008
System.out.println(3 - 2);//1
//*
System.out.println(2 * 3);//6
// '/'
System.out.println(10 * 2);//5
System.out.println(10 * 3);//3
System.out.println(10.0* 3);//3.33333333
//%
System.out.println(10 % 2);//0
System.out.println(10 * 3);//1
}
}

‘+’ 的使用

数字相加

隐式转换(自动类型提升)

​ 把取值范围小的数值转换成取值范围大的

​ byte short char 三种类型的数据在运算的时候都会先提升为int

​ byte<short<int<long<float<double

强制转换

​ 目标数据类型 变量名 = (目标数据类型 ) 被强转的数据

double a = 12.3;		
int i = (int) k

字符串相加

1、如果“+”操作中出现字符串时,这个“+”是字符串的连接符,而不是运算符。会将前后的数据进行拼接

2、连续加的时候,从左到右依次进行

​ 1+99+“年黑马” // 100年黑马

System.out.println(3.7+"abc") //3.7abc
System.out.println("abc"+true) //abctrue
System.out.println('中'+"abc"+true) //中abctrue
System.out.println(3.7+"abc") //3.7abc
int age = 18;
System.out.println("我的年龄是"+age+"岁");//我的年龄是18岁
System.out.println("我的年龄是"+"age"+"岁");//我的年龄是age岁
System.out.println(1+2+"abc"+2+1); //3abc21

字符相加

当出现 " 字符加字符/字符加数字" 的时候,会把字符转换成ASCII表中的数字,然后数字进行相加

2.自增自减运算符

++ 变量的值加1

int a = 10;
int b = a++; //先用后加
10
int a = 10;
int  b = ++a;//先加后用
11

–变量的值减1

i–

–i

3.赋值运算符

+=(隐含一个强转)

s += 1 s = (强转)(s+1)

-+

*=

/=

%=

4.关系运算符

==

!=

‘>’

‘>=’

‘<’

‘<=’

5.逻辑运算符

& 逻辑且 两边为真结果为真

| 逻辑或 一边真为真结果就是真

^ 逻辑异或 相同false,不同为true //民政局结婚,同性为flase

!逻辑非 取反

6.短路逻辑运算符

|| 短路或 左边能确定结果 就不会执行右边

&& 短路与

7.三元运算符

关系表达式 ? 表达式1 :表达式2

11 源码,反码,补码

12语句

1.顺序

2.分支语句

//
if(){

}
//
if(){
}else{

}
//
if(){

}else if(){

}else if(){

}
//switch
switch(){
    case 1:
        sout();
        break;
    case2:
        break;
    default:
}
jdk12以后
 switch(){
         case 1 -> sout();
         case 2->sout();
         default
 }

3.循环语句

for(int i =0;i<=10;i++){

}
//while
while(){

}
//do.....while
do{
	//循环体语句
	
}while(条件判断语句);

4.无限循环

for(; 😉{

​ System.out.println();

}

while(true){

}

do{

}while(true)

5.循环跳转语句

continue 跳出本次循环,继续下次循环

break 退出循环

13.数组

数组指的是一种容器,可以用来存储同种数据类型的多个值

1.数组的定义

int [] array;
//
int array[];

2.数组的初始化

静态数组

//数组的静态初始化
     //数据类型[] 数组名称 = new 数据类型[]{obj1,obj2,.....}
     //简写 数据类型[] 数据名称 = {object1,obj2,....}

     //定义一个数组存储五个学生的名字
     String [] name = new String[]{"wwl","LIU","SAN"};
     String [] name1 = {"wwl"};
     //定义一个数组存储3个学生的年龄
     int [] age1 = new int[]{1,2,3};
     //定义一个数组存储3个学生的身高
     double [] height = new double[]{12.2,22.3};

数组遍历

int [] arr = {1,2,3}
for(int = 0;i<arr.length;i++)
System.out.println(arr[i]);

动态数组

//动态初始化
     int [] name = new int[3];
     name[0] = 1;
     name[1] = 1;
     name[2] = 3;
     System.out.println(name[0]);
     System.out.println(name[1]);
     System.out.println(name[2]);
/*
1
1
3
*/

//数组默认初始化值的规律

//整数类型:默认初始化值0

//小数类型:默认初始化值0.0

//字符类型:默认初始化值\u00000·空格

//布尔类型:默认初始化值false

//引用数据类型:默认初始化值nulI

动态数组和静态数组的区别

动态初始化:手动指定数组长度,由系统给出默认初始化值。

只明确元素个数,不明确具体数值,推荐使用动态初始化

举例:使用数组容器来存储键盘录入的5个整数。

int[]arr={?????}int[]arr new int[5];

静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组的长度。

需求中已经明确了要操作的具体数据,直接静态初始化即可。

举例:将全班的学生成绩存入数组中11,22,33

int[] arr={11,22,33};

java内存分配

Java内存分配
栈:方法运行时使用的内存,比如main方法运行,进入方法栈中执行
堆:存储对象或者数组,new来创建的,都存储在堆内存
方法区:存储可以运行的class文件
本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关
寄存器:给CPU使用,和我们开发无关

1.当两个数组指向同一个小空间时,其中一个数组对小
空间中的值发生了改变,那么其他数组再次访问的时
候都是修改之后的结果了。

14.方法

方法是程序中最小的执行单元

1.什么是方法?
方法是程序中最小的执行单元。
2.实际开发中,什么时候用到方法?
重复的代码、具有独立功能的代码可以抽取到方法中。
3.实际开发中,方法有什么好处?
可以提高代码的复用性
可以提高代码的可维护性

int [] arry;
int arry [];

静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组的长度。

需求中已经明确了要操作的具体数据,直接静态初始化即可。

举例:将全班的学生成绩存入数组中11,22,33
int[] arr={11,22,33};

Java内存分配
栈:方法运行时使用的内存,比如main方法运行,进入方法栈中执行
堆:存储对象或者数组,new来创建的,都存储在堆内存
方法区:存储可以运行的class文件
本地方法栈:JVM在使用操作系统功能的时候使用,和我们开发无关
寄存器:给CPU使用,和我们开发无关

1.当两个数组指向同一个小空间时,其中一个数组对小
空间中的值发生了改变,那么其他数组再次访问的时
候都是修改之后的结果了。

简单方法定义调用

/*
//定义
public static void 方法名(){
	方法体
}
//调用
方法名();
*/
public class MethodDemo1 {
 public static void main(String[] args) {
     playGame();
     playGame();
 }
 public static void playGame(){
     System.out.println("玩游戏");
     System.out.println("输了");
     System.out.println("生气");
     System.out.println("骂人");
     System.out.println("------------");
 }
}

带参数的方法的定义和调用

public class MethodDemo2 {
 public static void main(String[] args) {
     add(2,4);
 }
 public static void add(int a , int b){
     int result  = a + b;
     System.out.println(result);
 }
}

■形参:全称形式参数,是指方法定义中的参数
■实参:全称实际参数,方法调用中的参数

方法的重载

一个类中,出现对个方法的名称相同,但是他们的形参列表是不同的,那么这些方法就称为方法重载了

方法重载的注意事项
·一个类中,只要一些方法的名称相同、形参列表不同,那么它们就是方法重载了,其它的都不管(如:修饰符,返回值类型是否一样都无所谓)。
形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称

return
没有返回值的return 结束所在方法的执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值