java
2021/9/29 20:11:03
本文主要是介绍java,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、Hello Worid示例:
public class hello { //输入psvm 输出一个main方法 public static void main(String[] args) { //输入sopt 打印字符串hello wroid System.out.print("hello wroid");//快捷命令sout }//快捷命令psvm }
2、注释:
//单行注释:只能注释一段文字 /* 多行注释: 可以注释一段文字 */ //文档注释:/** */
3、标识符:
1、类名、变量名、方法名都被称为标识符
2、所有标识符只能以字母(A-Z或a-z)、美元符($)、或者下划线(_)开始
3、标识符是大小写敏感的
4、什么是字节:
-
位(bit):计算机内部储存最小单位,11001100是一个八位二进制数。
-
字节(byte):计算机数据处理的基本单位,习惯上用大写B表示。
-
1B(byte) = 8bit(位)
-
字符:指计算机中使用的字母、数字、字和符号
- 1bit表示1位
- 1Byte表示一个字节1B = 8b
- 1024B = 1KB
5、数据类型:
1、强类型语言:
- 要求变量的使用要严格规定,所有变量必须先定义才能使用
- 特点:安全性高、速度慢
2、弱类型语言:
- 要求变量的使用要严格规定,所有变量必须先定义才能使用
3、数据类型分为两类
-
基本类型(primitive type)
-
引用类型(reference type)
数据类型 变量名 = 值;可以用逗号隔开声明多个同类变量
//八大基本数据类型 //整数 int num1 = 10;//最常用 占4个字节范围:-9223372036854775808-9223372036854775807 byte num2 = 20;//占1个字节范围:-128-127 short num3 =30; long num4 = 30L;//Long类型要在数字后面加L //小数:浮点数 float num5 = 50.1F;//float类型要在数字后面加F double num6 = 3.1415926; //字符类型 char name = 'A'; //字符串,String不是关键词,是一个类 String namea = "十一点"; //布尔值:是非 boolean flag = true; //boolean flag = false;
整数拓展
public static void main(String[] args) { // 整数拓展 : 进制 二进制0b 八进制0 十进制 十六进制0x int i = 10; int i2 = 010;//八进制0 int i3 = 0x10;//十六进制0x System.out.println(i); System.out.println(i2); System.out.println(i3); System.out.println("----------------------------------------------------"); //浮点数拓展 float f = 0.1f; //0.1 double d = 1.0/10;//0.1 System.out.println(f==d);//false float d1 = 2435342543543534534255f; float d2 = d1+1; System.out.println(d1==d2);//true //float 有限 离散 舍入误差 大约 接近但不等于 //double //最好完全使用浮点数进行比较 //最好完全使用浮点数进行比较 //最好完全使用浮点数进行比较 System.out.println("----------------------------------------------------"); //字符拓展 char c1 = 'A'; char c2 = '中'; System.out.println(c1); System.out.println((int)c1);//强制类型转换 System.out.println(c2); System.out.println((int)c2);//强制类型转换 //所有的字符本质都是数字 //编码 Unicode 表:(97 = a 65 = A) 2字节 0-65536 //U0000 UFFFF char c3 = '\u0061'; System.out.println(c3); System.out.println("----------------------------------------------------"); //转义字符 // \t 制表符 // \n 换行 // .......等其他转义符 System.out.println("Hello\tWroid"); System.out.println("Hello\nWroid"); }
结果:
10 8 16 ---------------------------------------------------- false true ---------------------------------------------------- A 65 中 20013 a ---------------------------------------------------- Hello Wroid Hello Wroid 进程已结束,退出代码为 0
6、类型转换
-
由于java是强类型语言,所以要进行有些运算的时候,需要用类型转换
低 -------------------------------------------------------------------------------------> 高
byte,short,char ---> int --->long ---> float --->double
-
运算中,不同类型的数据先转化为同一种类型,然后再运算
-
强制转换
-
自动转换
public static void main(String[] args) { int i = 128; byte b = (byte) i;//强制类型转换,内存溢出 double c = i;//自动类型转换 //强制类型转换 (类型)变量名 高------低 //自动类型转换 低-------高 System.out.println(i); System.out.println(b); System.out.println(c); /*注意点: 1.不能对布尔值进行转换 2.不能把对象类型转换为不相关的类型 3.在把高容量转换到低容量的时候,强制转换 4.转换过程中可能存在内存溢出,或者精度不准的问题 */ //精度不准问题 System.out.println("1、------------------------------------------------------"); System.out.println((int)67.5); System.out.println((int)10.4f); //内存溢出问题 System.out.println("2、------------------------------------------------------"); //操作比较大的数字时,要注意溢出问题 //jdk7新特性,数字之间可以用下划线分割 int money = 10_0000_0000; int years = 20; int total = money*years;//-1474836480,计算时溢出了 System.out.println(total); long total2 = money*years;//默认类型是int,转换前已经出现问题了 System.out.println(total2); long total3 = money*((long)years);//先把一个数转换成long System.out.println(total3); //字符与数字转换 System.out.println("3、------------------------------------------------------"); char d = 'a'; int e = d+1; System.out.println(e);//98 System.out.println((char)e);//b }
结果:
128 -128 128.0 1、------------------------------------------------------ 67 10 2、------------------------------------------------------ -1474836480 -1474836480 20000000000 3、------------------------------------------------------ 98 b 进程已结束,退出代码为 0
7、变量、常量、作用域
变量
-
变量就是可以变化的量
-
java中每个变量都必须声明其类型
-
java变量是程序中最基本的存储单元,其要素包括变量名、变量类型和作用域
数据类型 变量名 = 值;可以用逗号隔开声明多个同类变量
作用域
- 类变量
- 实例变量
- 局部变量
public class demo04 { ///类变量 static static double salary = 2500; //属性:变量 //实例变量:从属于对象;如果不自行初始化,这个类型的默认值 0 0.0 //布尔值:默认是false //除了基本类型,其余的默认值都是null String name; int age; //main方法 public static void main(String[] args) { //局部变量;必须声明和初始化值 int i = 10; System.out.println(i); //变量类型(可自定义) 变量名字 = new demo04(); demo04 demo04 = new demo04(); System.out.println(demo04.age); System.out.println(demo04.name); //类变量 System.out.println(salary); } //其他方法 /*public viod add(){ System.out.println(); }*/ }
常量
- 常量(Constant):初始化(initialize)后不能再改变值!不会变动的值。
- 常量可以理解为一个特殊的变量,它的值被设定后,在程序运行过程中不允许被改变
final 常量名 = 值; final double PI = 3.14
- 常量名一般使用大写字符
//修饰符,不存在先后顺序 static final double PI = 3.14; public static void main(String[] args) { System.out.println(PI); }
变量的命名规范
- 所有变量、类名:见名知意
- 类成员变量:首字母小写和驼峰原则:monthSalary
- 局部变量:首字母小写和驼峰原则
- 常量:大写字母和下划线MAX_VALUE
- 类名:首字母大写和驼峰原则:Man,GoodMan
- 方法名:首字母小写和驼峰原则
8、运算符
-
java支持的运算符: 优先级()
-
算术运算符:+、-、*、/、%、++、--
-
赋值运算符:=
-
关系运算符:>、<、<=、==、!=instanceof
-
逻辑运算符:&&、||、!
-
位运算符:&、|、^、~、>>、<<、>>>(了解!!!)
-
条件运算符:?、:
-
扩展赋值运算符:+=、-=、*=、/=
-
自增自减运算符、初识Math类
public class demo03 { public static void main(String[] args) { //++ -- 自增,自减 一元运算符 int a = 3; int b = a++;//执行完这行代码后,先给b赋值,再自增 //a = a + 1 System.out.println(a); //a = a + 1; int c = ++a;//执行完这行代码后,先自增,再给b赋值 System.out.println(a); System.out.println(b); System.out.println(c); //幂运算2^3 2*2*2 = 8 很多运算,我们会使用一些工具类来操作 double pow = Math.pow(3,2); System.out.println(pow); } }
逻辑运算符:
public static void main(String[] args) { // 与(and) 或(or) 非(取反) boolean a = true; boolean b = false; System.out.println("a && b:"+(b&&a));//与运算:两个变量都为真,结果才为true System.out.println("a || b: "+(b||a));//或运算:两个变量有一个为真,则结果为true System.out.println("!(a && b):"+!(b&&a));//如果是真,则变为假,如果是假则变为真 //短路运算 int c = 5; boolean d = (c<4)&&(c++<4); System.out.println(d); System.out.println(c); }
位运算符:
public static void main(String[] args) { /* A = 1010 0110 B = 0100 1011 ---------------------------- A&B = 0000 0010 //相同为1 A|B = 1110 1111 //有1则1 A^B = 1110 1101 //相同为0 ~B = 1011 0100 //取反 2*8 = 16 2*2*2*2 效率极高 << *2 >> /2 0000 0000 0 0000 0001 1 0000 0010 2 0000 0011 3 0000 0100 4 0000 1000 8 0001 0000 16 */ System.out.println(2<<5); }
条件运算符:
//三元运算符 public static void main(String[] args) { //x ? y : z //如果x == true,则结果为y,否则结果为z int score = 60; String type = score<60?"不及格":"及格";//必须掌握 //if System.out.println(type); if(score< 60){ System.out.println("不及格"); } else { System.out.println("及格"); }
扩展赋值运算符:
public class demo06 { public static void main(String[] args) { int a = 10; int b = 20; a+=b; //a=a+b a-=b;//a=a-b System.out.println(a); //字符串连接符 + , string System.out.println(""+a+b); System.out.println(a+b+""); } }
这篇关于java的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27消息中间件底层原理资料详解
- 2024-11-27RocketMQ底层原理资料详解:新手入门教程
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器