JavaSe阶段基础语法
2022/7/14 1:24:41
本文主要是介绍JavaSe阶段基础语法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
java入门
java诞生过程:1972年诞生c语言,因为指针和内存管理复杂,难以移植性。1982年产生了改进后的c++但是还是很复杂,于是在1995年就建立了java语言。
java优点:
-
语法有点像c
-
没有指针
-
没有内存管理
-
运行在jvm上,实现了真正的一次编译到处运行
-
面向对象
-
类型安全
……
java三大版本:
- javase:标准版(桌面程序,控制台……)
- javame:嵌入式开发(手机,家电…… ) 已经淘汰
- javaee:企业级开发(web,服务端……)发展最好
jdk,jre,jvm的关系:
- jdk:java开发环境。包括jre和jvm
- jre:java运行环境。包含jvm。
- jvm:java运行虚拟机。模拟cpu运行java程序。
编译型和解释型:
都是翻译程序的意思,将一种语言翻译成另一种机器语言。
编译:编译成一个字节码文件,保存。
解释:执行一句翻译一句,不生成字节码文件。
java基础
1.注释,标识符,关键字
注释:注释不会被计算机执行,是给编程人员看的,为了方便阅读代码。
java中的三种注释:
单行注释://
多行注释:/* ……*/
文档注释:/**…… */
/** * @author panglili * @create 2022-07-13-8:36 */ public class HelloWorld { public static void main(String[] args) { System.out.println("HelloWorld"); //单行注释 /* 多行注释 多行注释 多行注释 */ /** * 文档注释 * 文档注释 */ } }
标识符
java所有的组成部分都是有名字的。如类名,变量名,方法名等都被称为标识符。
关键字
系统定义的有特殊含义的标识符,不可再被用户定义为类名,变量名,方法名……
2.数据类型
java八大类型:
int:4字节
short:2字节
byte:1字节
long:8字节
以上为整数类型
float:4字节
double:8字节
以上为浮点类型
char:2字节
以上为字符类型
boolean:1
以上为布尔类型
/** * @author panglili * @create 2022-07-13-9:04 */ public class NumType { public static void main(String[] args) { int a=1; byte b=127; String c="123"; long d=1276543223999999999L;//long类型后面加L区别 char e='a'; float f=1.2F;//float类型后面加F double g=2.22; boolean fa=false; boolean tr=true; } }
扩展:进制
二进制:0b
十进制:正常
八进制:0
十六进制:0x
int i=0; //十进制 int i0=0b101; //二进制 int i1=077; //八进制 int i2=0xA1; //十六进制
浮点数使用小tips:
尽量不要用浮点数进行比较
3.类型转换
byte,short,char->int->long->float->double
由高字节到低字节转换需要强制类型转换:可能会产生内存溢出或者精度溢出
由低字节到高字节转换会自动类型转换
/** * @author panglili * @create 2022-07-13-10:02 */ public class TypeTransfer { public static void main(String[] args) { int i=128; byte b=(byte)i; System.out.println(i); //强制转换,int到byte System.out.println(b); //强制转换,内存溢出 float f=3.14f; System.out.println((int)f);//强制转换,精度丢失 int a=b; System.out.println(a);//自动转换,byte到int } }
4.变量,常量
变量:java中初始化后依旧可以变化的量。
常量:java中初始化后不可变化的量。使用final定义。
/** * @author panglili * @create 2022-07-13-10:15 */ public class VariableConstant { public static void main(String[] args) { //定义变量赋初值 int a=1; String name="tata"; System.out.println(a); System.out.println(name); //改变变量的值 a=2; name="panglili"; System.out.println(a); System.out.println(name); //常量 final int B=3; // b=4; 报错不可改变其值 System.out.println(b); } }
5.运算符
算术运算符:+,-,*,/,%,++,--……
赋值运算符:+=,=,-=……
关系运算符:>,<,>=……
逻辑运算符:&&,||,
位运算符:|,&,^,~,>>,<<
条件运算符: ?:
扩展赋值运算符:
6.包机制
相当于一个文件夹,方便分类管理。
在公司中一般就是公司域名倒置,用来建包。
阿里巴巴开发手册,都是java基础的规范约定,可以看看规范自己的编码!!!
java流程控制
1.用户交互scanner
扫描用户输入,进行操作。
package com.javase.grammer; import java.util.Scanner; /** * @author panglili * @create 2022-07-13-11:17 */ public class ScannerUse { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入输入s:"); String s = scanner.next(); System.out.println("输入的结果如下:"); System.out.println(s); scanner.close(); } }
scanner进阶使用:判断输入的是否是整数,同理可判断其他数据类型。
package com.javase.grammer; import java.util.Scanner; /** * @author panglili * @create 2022-07-13-11:17 */ public class ScannerUse { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入:"); if(scanner.hasNextInt()){ System.out.println("输入了整数"); }else{ System.out.println("输入的不是整数"); } } }
输入n个整数以非整数结束,计算输入的整数和。
package com.javase.grammer; import java.util.Scanner; /** * @author panglili * @create 2022-07-13-11:40 */ public class ScannerCalculate { public static void main(String[] args) { int sum=0; Scanner scanner = new Scanner(System.in); System.out.println("请输入:"); while(scanner.hasNextInt()){ sum+=scanner.nextInt(); } System.out.println(sum); } scanner.close(); }
2.顺序结构
最基本的结构,按照顺序一条一条的执行。
System.out.println("1"); System.out.println("2"); System.out.println("3"); System.out.println("4"); System.out.println("5");
会按照顺序一条一条输出1,2,3,4,5
3.选择结构
if单选择
if多选择
嵌套if
switch多选择
package com.javase.grammer; import com.sun.org.apache.xml.internal.res.XMLErrorResources_tr; /** * @author panglili * @create 2022-07-13-11:52 */ public class Structure { public static void main(String[] args) { //if单选 int a=1; int b=2; if(a==1){ System.out.println("正确"); }else System.out.println("错误"); //if多选 if(a>1){ System.out.println("大于"); } if(a<1){ System.out.println("小于"); } if(a==1){ System.out.println("等于"); } //嵌套 if(a==1){ if(b>1){ System.out.println("b>a"); } else System.out.println("b<a"); }else System.out.println("条件1不成立,未进入嵌套"); int a=3; switch (a){ case 1: System.out.println("1"); break; case 2: System.out.println("2"); break; case 3: System.out.println("3"); break; case 4: System.out.println("4"); break; default: System.out.println("未匹配到"); } } }
4.循环结构
for:写结束条件
while:表达式为true就会一直循环。
do……while:先循环一次再判断。
package com.javase.grammer; /** * @author panglili * @create 2022-07-13-12:10 */ public class Circle { public static void main(String[] args) { //for 循环输出1到100 for(int i=1;i<=100;i++){ System.out.println(i); } //while循环输出1-100 int i=0; while(i<100){ i++; System.out.println(i); } } }
九九乘法表打印
package com.javase.grammer; /** * @author panglili * @create 2022-07-13-15:48 */ public class MultiplicationTable { public static void main(String[] args) { for(int a=1;a<10;a++){ //a控制行数 for(int b=1;b<=a;b++){ //b控制列数,应该等于行数 System.out.print(a+"*"+b+"="+a*b); System.out.print("\t"); } System.out.println(""); } } }
java5新特性:for(变量:表达式),常用于遍历数组和集合。
package com.javase.grammer; /** * @author panglili * @create 2022-07-13-15:58 */ public class ForNum { public static void main(String[] args) { int [] nums={1,2,3,4,5,6}; for(int i:nums){ System.out.println(i); } } }
5.break,continue的使用
break :会强制退出循环,不执行剩余的循环。
continue:跳过这次循环,剩余的循环继续执行。
package com.javase.grammer; /** * @author panglili * @create 2022-07-13-16:03 */ public class BreakContinue { public static void main(String[] args) { //使用了break,在打印到30的时候就会退出打印,控制台只打印了1-29 for(int i=0;i<100;i++){ if(i==30){ break; }else System.out.println(i); } System.out.println("***************"); //使用了continue,在打印到30的时候就会跳过,控制只是没有打印30 for(int j=0;j<100;j++){ if(j==30){ continue; }else System.out.println(j); } } }
这篇关于JavaSe阶段基础语法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign服务间调用学习入门
- 2024-12-27OpenFeign学习入门:轻松掌握微服务通信
- 2024-12-27OpenFeign学习入门:轻松掌握微服务间的HTTP请求
- 2024-12-27JDK17新特性学习入门:简洁教程带你轻松上手
- 2024-12-27JMeter传递token学习入门教程
- 2024-12-27JMeter压测学习入门指南
- 2024-12-27JWT单点登录学习入门指南
- 2024-12-27JWT单点登录原理学习入门
- 2024-12-27JWT单点登录原理学习入门