第一天学习java-(4月14日)-千峰教程

第一天学习java-(4月14日)-千峰教程

JVM:虚拟机
JRE:运行环境 包含了虚拟机和解释器
JDK:开发环境包含了JRE
编译:javac 源文件名称.java ----->源文件中的类名.class
一个文件里面可以书写多个类,编译之后就会变成多个文件,文件名为类名的.class(每个类都会生成一个独立的.class文件)一个类只能有一个主方法,每一个类里面都可以有自己的主方法
运行:java 类名就可以了
【public】修饰的类称为公开类,要求类名必须与文件名称相同(源文件的文件名)包括大小写,
【Package 上】
语法
作用:类似于文件夹,用于管理字节码.class文件
语法:package 包名 ---->包名必须为小写
package p1;

public class Hello{
public static void main(String[] args){
System.out.print(“你好”);
}

}
位置:必须写在源文件第一行
带包编译: javac –d . 源文件名称.java (自动生成目录结构)(其中点表示的是当前路径)
带包运行:java 包名.类名(称为全限定名) 进入目录里面java 类名
【package 下】包里面嵌套包
package p1.p2.p3;
public class Hello{
public static void main(String[] args){
System.out.print(“你好”);
}

}
带包中包进行编译:Javac –d . Hello.java---->生成包中包并且里面生成 类.class
语法:package 包名
位置:第一行
采用的域名倒置的规则:
例如 :cn.com.company.department.group.project.module.XXclass---->前面一大段是域名倒置,就是公司域名的倒置
【开发编辑工具 notepad++】
【编码规范】
层级之间必须缩进
一行只写一句代码
【代码注释】
单行注释 //:上面为注释下面为代码
多行注释:/* /:支持多行的注释
文档注释:/
* */:文档注释,和方法注释
生成外部文档:javadoc –d . HelloWord.java 生成外部文档,相当于官方文档的缩小版
语法规定:字母下划线数字$组成,但是不能用数字开头,不能与关键字和保留字重名
约定俗成:
类名由一个或者多个单词组成,每个单词首字母大写(帕斯卡):class HelloWord
函数名,变量名由一个或者多个单词组成,单词首字母小写,拼接词首字母大写:helloWord(驼峰)
包名全小写:p1.p2.p3
常量全部大写:多个单词用_链接:PI
Java的三个平台:java SE java EE java ME
先编译后解释,面向对象,夸平台性
【java的语言基础】
内存:计算机所有的程序运行都是在内存中运行的,内存是一块瞬时状态的存储空间,有一定的容量
内存与硬盘的区别:内存的造价比加高
计算机给java程序给java的虚拟机分配:物理内存的8/1的内存(默认的)
计算机的存储单位:bit (8位等于一字节) 位Byte字节 (标注的存储单位)
【变量】计算机内存里面的一块存储空间,是存储数据的基本单元相当于一个宾馆(门牌 ,大小)
【变量的定义】
声明:数据类型 变量名;
赋值:变量名=值;//将等号右边的值赋值给等号左边的值
int(integer) :int monkey;
mokey = 100;
System.out.println(monkey); //输出后换行
Java是一种强类型的语言,变量的类型必须与数据的类型一致
【变量的3中声明方式】
先声明,在赋值(常用)
声明并且赋值:数据类型 变量名 = 值;
多个同类型的变量的声明和赋值:数据类型 变量名1 ,变量名2,变量名3 = 值3 ,变量四,变量五 = 值5;即使不初始化页没关系
【数据类型】
基本数据类型:整数 小数 布尔 字符 8种数据类型
引用数据类型:字符串 数据 对象
【整数】
byte:1字节 一个字节有8位 正数需要算上零
short:2字节
int:4字节
long:8字节
【注意】
//java中所有默的整数“字面值”默认是int类型,当数字的字面值超过int的取值的时候回提醒过大的整数必须在字面之后面加上有个L(尽管你用的是long类型,但是如果你在int 的声明下对数字加上L那么这样就没有什么用还是会报出超出限制的值,过大的整数)
long l1=213223232342L;
【小数】
float(单精度):4字节 分为负数 和正数 两个范围()
double(双精度):8字节 分为负数和整数 两个范围
//java中就是java里面的小数,带有小数点的,默认是double类型的,因为两者的取值范围不一样,所以,如果定义为float f =1.3F;加上一个F就可以进行类型数字的存储了
//科学计数法 double d3=2E3; —>2000
float f3=5E4F;------>代表的是float类型
【基本类型 float double】
取值范围

float floatmin=(-45个零1.4);//float的最小正数
float floatmax=3.4E38F;//float最大的float正整数

负数正好相反 -1.4的E45
负数:-3.4E38
【double】
正数范围:4.9-E324~1.7E308
【布尔型】boolean
一字节:取值范围 true/false
boolean b1=true;//定义boolean类型
boolean b1 =5>4;//boolean也可以是有个boolean类型
java中boolean不能参与算数运算
【字符char只能写一个】
char x= ‘A’; 赋值的方式有三种
char x = 65; 赋值十进制也会去找对应的65对应的accll码来存储
char x =’\u0041’;(十六进制的赋值) unicode码的对应的值 \u 表示的转义把他当成十六进制的进行转义
Unicode:针对的是所有文,accss码只针对于英文 只有128个,针对于unicode是包含accss码的
【char 取值范围】
占用两个字节
0-65535;
【转义字符】
\n:换行符
\t:缩进(制表位)
\:反斜线
\’:单引号
\”:双引号
在java中输出一个单引号是不行的,必须要用转义字符来进行输出
【字符串 关键字 String】
取值范围:任何是双引号里面的东西 包含空格因为ascll码里面有空格的变现形式
字符编码:unicode
格式: String str = “helloword”;
【类型转换】
自动类型的转换(同时满足两个类型):条件1:两种类型相互兼容 条件2:目标类型大于源类型
例如:float–>double 整数–>小数 (int -->double) 字符转换为 整型 字符转换为 浮点型也可以(字符型 转换为double型)boolean 类型是无法兼容其他类型的,所以是无法进行自动类型的转换的
class Test{
public static void main (String[] agrs){
short i = 123;
int s = i; //发生自动类型的转换

char c= ‘A’;
int i=c; //得到的值是65 因为会进行类型的转换 ,先找到这个字符的asscll码 ,在底层中为65,的二进制存在

}

}

【强制类型转换】整数转换为整数
条件:1.两种类型相互兼容 2.目标类型小于等于源类型的长度都需要用到强制类型转换
例如:
class Test{
public static void main (String[] agrs){
short i = 123;
byte s = (byte)i; //墙纸类型转换 得到的结果也是123 因为目标类型的长度够长
}
}
【强制类型的转换规制:】
整数类型长度足够,数据完整
例如 int i =100; byte b =(byte)i; //b=123(由于 123 在目标类型里面是可以装的下的)
【目标类型的数据长度不够,会产生截断数据:】
例如:int i =257; byte b =(byte)i;//得到的值为1,进行高位的截断,把它目标的类型的长度进行保存,巴表示这个数字多余的长度就截断,然后返回当前类型的值,当前阶段所表示的值
(如果符号位发生变化可能会变成负数,就是目标类型的格子左边第一位为,截断之后为1的时候)注意:符号位并不仅仅代表符号还代表-这个位数对应的值 然后在加上后面非符号位的值
【强制类型转换下】小数转换为整数
小数转换为整数:double 转位 int 类型:直接舍掉小数部分
字符转换为整数:char 转换为 int 在转换为 char 或者 short 转换为 char 也需要强制类型转换 虽然都是两个字节(注意当 short 为负数的时候,在进行char 转换的时候不会报错但是展示的时候会显示为 ? )表示的是不存在
【算数运算符】
+,-,,/,%:百分号是去取模
例如:
class Test{
public static void main (String[] agrs){
int a =10;
int b =3;
System.out.print(a/b);//由于这里全部都是整数所以取值只保留整数,不会管小数,这里得到的结果是3
}
}
例如:
class Test{
public static void main (String[] agrs){
double a =10;
int b =3;
System.out.print(a/b);//由与这里出现了double所以这里得到的最后的值为3.33333
}
}
【一元运算符】由于一元运算符的优先级比较低
++,–:
例如:
num++;:自增1
System.out.print(num++);:表示的是先执行其他操作之后才进行++
System.out.print(++num);:表示的是自增之后才进行打印
【赋值运算符】
=,+=,
=,/=,%=
【关系运算符】

,<>=,==,<=,!=;连个操作数的比较
【逻辑运算符】
&& ,||,!:将两个boolean的操作数或者是表达式进行比较
三元运算符:? :
语法: x=布尔表达式?结果1:结果2; :真的话得到的结果是结果1,假的话就是结果2
【表达式】
什么是表达式:使用运算符连接的变量或者是字面值,并且可以得到一个具体的结果
例如:
1+2;
a-2;
【自动类型的提升】就是数字的运算,不同类型的到的结果,称为自动类型的提升
两个操作数有一个为double,那么结果提升为double,所以结果要用double 类型的数据去接他
两个操作数有一个float:那么结果一定是float类型,所以结果可以用float 或者是doble类型
两个操作数有一个long类型和一个更低:得到的结果就是long类型
两个操作数最高类型为int那么结果肯定是int
如果两个数中没有int,均为short或者是byte,那么计算的结果依然是int
特殊:任何类型与String相加,实为拼接,其结果提升为String类型
用途:
int javascore=20;
System.out.print(“java的成绩是:”+javascore);//得到的结果是java的成绩是20
【控制台输入】用到是是java里面的jar包里面的java文件里面的Scaner的类文件
Scanner类型:是引用类型
jar:是外部引用文件
包名和导入如包名如果同时存在,那么包名在最前面,因为导包的话,得先有包
导包: import java.util.Scaner; //Scaner类型是引用类型;
Scaner input = new Scaner(System.in); //新建一个对象
int i= input.nexInt();//控制台获取一个整数
double d =input.nexDouble();//控制台获取一个整数
String s=input.next();//控制台输入一个字符串
char c = input.next().charAt(0);//控制台输入字符串,并且接受第一个字符
System.out.print(i);//输出值
如果输入了不匹配的数据,则会产生,java.util.InputMismatchException :输入类型不匹配
【第三章】
【基本的if选择结构】适合于范围判断
格式:if(布尔表达式){
}

执行流程:对布尔表达式进行判断,结果为true,则先执行代码块,在执行后续代码
结果为false,直接跳过代码块执行后续代码
【if else 结构】
格式:
if(布尔表达式){
代码块1
}else{
代码块2

}
【if else if else】
格式:
if(布尔表达式){
代码块1
}else if(布尔表达式2){
代码块2

}else if(布尔表达式3){
代码块3

}else{//else是一句可以省略的块

}
【嵌套if选择结构】
if(外城表达式){
if(内层表达式){
}

}else{

}
【switch分支结构】适合于等值判断
switch(变量|表达式){ //可判断的类型 byte short int char String
case 值1:
逻辑代码1;
case 值 2:
逻辑代码2;
default:
未满足时的逻辑代码;

}
例子:
int weekday = 7;
switch(weekday){
case 1:
System.out.print(“香菜”);
break;
case 2:
System.out.print(“撒菜”);
break;
case 3:
case 4: //当有多个输出的条件是一样的,可以写在一起,
System.out.print(“香saa菜”);
break;
defult:
System.out.print(“不是菜”);
break;

} //由于在switch中没有先后顺序
【局部变量】
生命在方法的内部,必须先赋值在使用
作用范围:定义在开始到所在的代码块结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值