目录用法:
文章首部添加
@[TOC](目录)
即可
1.Java程序的 框架
一个类中,main 只有一个,是作为所有程序对的入口开端,且在public class中
public class 类名
{
public static void main (Stirng [] args)
{}
}
2.标识符
①规则:只能由字母丶数字丶下划线丶和$组成,不能以数字开头,还要避免关键字
②规范:要有阅读性(名字即意思)
③命名规范:
1、 项目名全部小写
2、 包名全部小写
3、 类名首字母大写,一般都是使用驼峰式命名。
如:public class MyFirstClass{}
4、同上: 变量名、方法名首字母小写,如果名称由多个单词组成,每个单词的首字母都要大写。
如:int index=0;
public void toString(){}
5、 常量名全部大写
如:public static final String GAME_COLOR=”RED”;
3.变量
变量声明:
数据类型 变量名;
数据类型 变量名 = 数值或者表达式(可以边声明边赋值)
4. 数据类型
1.基本数据类型:
整型:用来储存数字
字节(byte)-128 127 -1字节
短整型(short) -2字节
整型(int) -4字节
长整型(long) -8字节
浮点:用来储存小数
单精度(float) -4字节
双精度(double) -8字节
字符:用来存储一个字符
(char)-2字节
布尔:用来存储真假或者对错
(boolean)里面只有两个值,true ,false -(理论上占用1bit,1/8字节,实际处理按1byte处理也就是1字节)
2.引用数据类型
字符串(String)
类(class)
接口类型、
数组类型、
枚举类型、
注解类型、
字符串型
5.数据类型转换
1.自动转换:
byte b = 10;int num = b;右侧范围必须小于左侧
double d = 10;此会将10自动转换为10.0,这是可以的
2.强制转换:
当等号左侧类型低于右侧的时候,进行强制转换,转换之后,左侧必须兼容等号右侧
double d = 10;
int a = (int) d;//这里的d是高于a的,所以需要强制转换!
或
int A= 3;int B=5;
double C;
C=A/B;//此时输出为0;
C=(double)A/(double)B;//为0.6
6.运算符优先级
输入和输出:
一.课程学习
1.输入需要引入类 Scanner
开头输入import java,util.Scanner;
以便调用输入类
2.声明对象
Scanner 对象名字 = new Scanner(System.in);
初学习一般定义对象为input
Scanner input = new Scanner(System.in);
3.用户输入赋值给变量
1.首先定义一个变量
2.变量 = input.nextInt();
int a;
a=input.nextInt();
double b;
b= input.nextDouble();
可以利用编译器的功能来补全
打出 a = ipuut
利用快捷键Alt+?即可自动补全后面的
4.特别的char类型的输入
char sex = input.next().charAt(0);
后面多了一个比较麻烦
1.快捷方式
可以用_alt+ /_使用代码提示提高开发
选中代码,ctrl+/注释掉代码
例如:syso+上面的选中会直接出现输出标准式
Ctrl+D 删除行
Ctrl+M 出现资源管理器
2.调试
1.选断点(双击)
2.打开调试界面,快捷键F11(小虫子)
3.通过F5,F6控制程序的走向
4.关闭调试界面,去掉断点
3.常量
1.声明常量
解释:所谓常量,就是固定不变的量,一旦被定义并赋值后,它的值就不能在改变(final最终)
语法:
final 数据类型 常量名称 = 值;
规范: 常量名称通常使用大写字母,例如Pi,YEAR 等。
规则:常量名称符合标识符的要求,只能使用字母丶数字丶—丶$,不能以数字开头,不能使用关键字。
如果想在main函数之外的代码想被main函数被调用,只有加static才能实现
4.打印/输出
System.out.println();
//一般syso +alt+/ 可以直接打出这一句,快捷操作
括号里面,双引号里是文字(“文字”)
+常量/变量
如果两边都有文字需要两个都加 (“文字”+num+“文字”)
5.变量
一.声明
解释:变量就是用声明的方式,在内存中的某块内存区域保留下来供程序的使用,其内的值是可变的。
1.数据类型 变量名 ;例如 int num;
2.变量赋值:变量名=值;例如 num =10;
3. 变量的使用: 例如 syso(num);
1和2可以合起来写 例如: int num=10;
变量的使用(基本数据类型),其实就是取出变量对应的内存块里的值进行使用
规则:名称符合标识符的要求。只能使用字母丶数字丶—丶$这四种组成,不能以数字开头,不能使用关键字。
6.变量的作用范围
按作用范围氛围成员变量和局部变量
1.成员变量(也就是全局变量)
在类体中定义的变量,它的作用范围为整个类,也就是说这个类中都可以访问到定义的这个成员变量。但是不能在方法中定义。
简单理解:直接在类里,方法外定义,并且Eclipse默认蓝色显示
在类中,在方法外,还需要加static
2.局部变量
在一个函数(方法)或代码块中定义的变量称为局部变量
特点:局部变量在方法或代码块被执行的时候创建,在方法或代码块结束时被销毁。
3.代码块
两个inner重名,但不报错,局部变量在代码块执行完就被销毁。
public static void main(Stirng[] args){
int outer = 1;//局部变量
{
int inner = 2;//局部变量
System.out.println("inner="+inter);
System.out.println("outer="+outer);
}//这个大括号包含的就是代码块
int inner = 3;//局部变量
System.out.println("inner="+inner);
System.out.println("outer="+outer)
}
输出:
inner=2
outer=1
inner=3
outer=1
成员变量和局部变量可以重名,使用时,调用就近的变量。
package demo2;
public class Test4{
static int var = 1;
public static void main(String[] args){
int var = 2;
}
System.out.println("var="+var);
}
}
}
输出:
var=2
而类和方法中的作用范围是可以嵌套的,局部变量的范围会将成员变量的范围进行覆盖
Java中的作用范围是不允许嵌套的,但在C/C++中可以
package demo;
public class Test{
public class void main (String[] args){
int i = 1;//局部变量
{
int i = 2;//局部变量
System.out.println("i="+i);
}
}
}
//两个i 的作用范围冲突