|
一、什么是JavaJava是一种高级编程语言,由SunMicrosystems公司于1995年推出。Java具有跨平台性、面向对象、健壮性、安全性、可移植性等特点,被广泛应用于企业级应用开发、移动应用开发、大数据处理、云计算等领域。Java程序可以在不同的操作系统上运行,只需编译一次,就可以在任何支持Java虚拟机(JVM)的平台上运行。Java还提供了丰富的库和框架,可以加快开发过程,提高开发效率。二、Java的优点1.面向对象:Java是一种面向对象的编程语言,支持封装、继承和多态等面向对象的特性,使得代码更易于理解、维护和重用。 2.跨平台性:Java应用程序可以在不同的操作系统上运行,只需编译一次,就可以在任何支持Java虚拟机(JVM)的平台上运行。 3.强大的生态系统:Java拥有庞大而活跃的开源社区,提供了丰富的库和框架,可以加快开发过程,提高开发效率。 4.内存管理:Java提供了自动的垃圾回收机制,开发者不需要手动管理内存,减少了内存泄漏和野指针等问题。 5.安全性:Java具有强大的安全性特性,包括沙箱安全模型、字节码验证和安全类加载等机制,可以防止恶意代码的执行。 6.多线程支持:Java内置了对多线程的支持,可以方便地创建和管理多线程应用程序,提高程序的并发性能。 7.广泛应用:Java广泛应用于企业级应用开发、移动应用开发、大数据处理、云计算等领域,具有良好的可扩展性和稳定性。 三、第一个Java程序首先安装好JDKJava开发工具JDK8和JDK17介绍及安装(超级详细)_#看心情的博客-CSDN博客 1.新建一个A.java文件2.使用记事本打开,输入:publicclassA{publicstaticvoidmain(String[]args){System.out.println("HelloWorld");}} 注意:java中的代码是严格区分大小写 java中的标点符号必须是英文状态下输入,不能是中文状态 java中的路径,文件名都不要使用中文3.在文件夹上目录上输入cmd回车 4.输入 javacA.java编译Java文件5.编译完后会产生一个A.class文件5.输入javaA运行Java文件编译:A.java->jdk->A.class运行:A.classJava开发工具IDEA安装(2023)-CSDN博客CSDN四、Java中的注释1.单行注释://2.多行注释:/**/3.文档注释::/****/五、数据类型Java基本数据类型序号数据类型解释位数默认值举例说明1byte位80byteb=10;2short短整型160shorts=10;3int整数320inti=10;4long长整型640longl=10l;5folat单精度320.0floatf=10.0f;6double双精度640.0doubled=10.0d;7char字符16空charc='c';8boolean布尔8flasebooleanb=true;注意:String是对象,不属于8大基本数据类型!!!数据类型转换1.自动转换(隐式转换):小范围->大范围//将int转换成double(小范围->大范围)inta=10;doubleb=a;//10.002.强制转换(显示转换):大范围->小范围//将double转换成int(大范围->小范围)doublea=11.11;intb=(int)a;//11五、变量为什么要使用变量?1.存储数据:变量用于存储数据,可以是数字、文本、布尔值等。通过给变量赋值,我们可以在程序中保存和操作数据。 2.数据共享:变量允许我们在程序中共享数据。通过将数据存储在变量中,我们可以在不同的代码块中访问和使用相同的数据。 3.数据处理:变量使得数据处理更加灵活和方便。我们可以对变量进行计算、操作和转换,从而实现各种功能和逻辑。 4.代码可读性:使用变量可以增加代码的可读性和可维护性。通过给变量取一个有意义的名称,可以更清晰地表达代码的意图,使代码更易于理解和修改。 5.代码重用:通过使用变量,我们可以在不同的地方重复使用相同的数据。这样可以减少代码的冗余,提高代码的复用性和效率。 什么是变量?变量是计算机程序中用于存储数据的一种数据类型。它是一个名称,代表了一个值或一个对象,可以在程序中多次使用。在程序中,我们可以给变量赋值,修改变量的值,以及使用变量来进行各种计算和操作。声明变量的三要素1.变量名:用于标识变量的名称,必须符合一定的命名规则。2.变量类型:用于指定变量的数据类型,例如整数、浮点数、布尔值、字符串等。3.变量值:存储在变量中的具体数值或对象。声明变量的四种方式/*第一种:声明变量并且赋值变量类型变量名=值;*/inta=10;/*第二种:先声明变量,再赋值变量类型变量名;变量名=值;*/intb;b=10;/*第三种:同一种类型的变量,一行声明多个变量类型变量名1,变量名2,变量名3;变量名1=值;变量名2=值;变量名3=值;*/intc1,c2,c3;c1=10;c2=20;c3=30;/*第四种:同一种类型的变量,一行声明多个并且赋值变量类型变量名1=值1,变量名2=值2,变量名3=值3;*/intd1=1,d2=2,d3=3;变量交换inta=10;intb=20;intc=a;//将a的值赋值给ca=b;//将b的值赋值给a(原值会覆盖)b=c;//将c(原a的值)赋值给bSystem.out.println("a:"+a+",b:"+b);//a:20,b:10变量命名规则1.首字母: 字母,_,$,中文(不推荐使用)2.首字母后面: 首字母,数字,也可以没有注意: 不能是java中的关键字六、运算符1.算术运算符加法(+)inta=10,b=20;System.out.println(a+b);//10+20=30//如果一个数字加一个字符串,则会进行拼接intc=123;Stringd="hello";System.out.println(c+d);//123+hello=123hello减法(-)inta=20,b=10;System.out.println(a-b);//20-10=10乘法(*)inta=2,b=5;System.out.println(a*b);//2*5=10除法(/)inta=10;intb=2;System.out.println(a/b);//5intc=5;intd=2;System.out.println(c/d);//2取模(%)inta=5;intb=2;System.out.println(a%b);//1intc=6;intd=2;System.out.println(c%d);//0递增(++)//第一种先加在赋值inta=1;System.out.println(++a);//2;//第二种先赋值在加intb=1;System.out.println(b++);//1 递减(--)//第一种先减在赋值inta=1;System.out.println(--a);//0;//第二种先赋值在减intb=1;System.out.println(b--);//12.赋值运算符赋值(=)//给a和b同时赋值inta=10,b=20;System.out.println("a:"+a+",b:"+b);//a:10,b:20//字符串类型也可以进行加法赋值Stringa="hello",b="world";a+=b;System.out.println(a);//helloworld加法赋值(+=)//将第一个数字加与第二个数字inta=10,b=20;a+=b;System.out.println(a);//30减法赋值(-=)//将第一个数字减与第二个数字inta=10,b=20;a-=b;System.out.println(a);//-10乘法赋值(*=)//将第一个数字乘与第二个数字inta=10,b=20;a*=b;System.out.println(a);//200除法赋值(/=)//将第一个数字除与第二个数字inta=100,b=20;a/=b;System.out.println(a);//5 取模赋值(%=)//将第一个数字模与第二个数字inta=5,b=2;a%=b;System.out.println(a);//13.比较运算符比较运算返回的结果是一个boolean值不是true就是false;等于(==)//比较两个数是否相等inta=5,b=2;System.out.println(a==b);//false//比较两个字符串是否相等Stringa="hello",b="hello";System.out.println(a==b);//true不等于(!=)//比较第一个数是否不等于第二个数inta=5,b=2;System.out.println(a!=b);//true//比较第一个字符串是否不等于第二个字符串Stringa="hello",b="hello";System.out.println(a!=b);//false大于(>)//比较第一个数是否大于第二个数inta=5,b=2;System.out.println(a>b);//true小于(=)//比较第一个数是否大于或者等于第二个数inta=5,b=2;System.out.println(a>=b);//true小于等于(>)将操作数的所有位向右移动指定的位数,左侧用原有的最高位填充(保持符号位不变)。inta=-10;//二进制表示为11111111111111111111111111110110intresult=a>>2;//二进制结果为11111111111111111111111111111101,即-3System.out.println(result);//-36.三元运算符根据条件选择不同类型的值相当于if-else,形式为:条件?值1:值2inta=10,b=5;Stringresult=a>b?"a大于b":"a小于b";System.out.println(result);//a大于b7. instanceof运算符instanceof运算符用于检查一个对象是否属于某个类或其子类的实例//动物类classAnimal{}//狗类继承动物类classDogextendsAnimal{}publicclassTest{publicstaticvoidmain(String[]args){//Dog是Animal的子类,所以返回trueSystem.out.println(newDog()instanceofAnimal);//true//Animal不是Dog的子类,所以返回falseSystem.out.println(newAnimal()instanceofDog);//false}}8.运算符优先级从高到低1.一元运算符(如++、--、+、-、!)2.乘法和除法(*、/、%)3.加法和减法(+、-)4.移位运算符(>、>>>)5.比较运算符(、>=、instanceof)6.相等运算符(==、!=)7.位与(&)8.位异或(^)9.位或(|)10.逻辑与(&)11.逻辑或(||)12.条件运算符(?:)13.赋值运算符(=、+=、-=、*=、/=等)七、条件判断if-elseIf-else语句是Java中用于根据条件执行代码的一种结构。它由一个条件、一个then子句和一个else子句组成。条件是一个布尔表达式,它可以是true或false。如果条件为true,则执行then子句。如果条件为false,则执行else子句。/*第一种if单独使用if(条件){条件满足执行}*/if(i>100){System.out.println("i大于100时执行");}/*第二种ifelse结合使用if(条件){条件满足执行}else{条件不满足执行}*/if(i>100){System.out.println("i大于100时执行");}else{System.out.println("i小于100时执行");}//简写省略大括号if(i>100)System.out.println("i大于100时执行");elseSystem.out.println("i小于100时执行");//简写使用三元运算符Stringstr=(i>100)?"i大于100时执行":"i小于100时执行";System.out.println(str);/*第三种多重ifif(条件1){满足条件1执行}elseif(条件2){满足条件2执行}elseif(条件3){满足条件3执行}else{都不满足执行}*/if(i>10){System.out.println("i大于10");}elseif(i=100){if(i>=120){System.out.println("i大于等于120执行");}else{System.out.println("i大于等于100小于120执行");}}else{if(i>=80){System.out.println("i在执行");}else{System.out.println("i小于80执行");}}八、switchswitch语句是根据一个表达式的值执行不同的代码块的一种结构。switch语句由一个关键字switch、一个表达式和一个或多个case语句组成。表达式必须是一个整数、字符或字符串。case语句由一个关键字case和一个常量组成。每个case语句后面跟着一个冒号,然后是该case语句要执行的代码块。//猜拳游戏:1-石头,2-剪刀,3-布inti=1;Stringstr;switch(i){case1:str="石头";break;case2:str="剪刀";break;case3:str="布";break;default:str="其他";break;}System.out.println("你出的是:"+str);//简写Stringstr=switch(i){case1->"石头";case2->"剪刀";case3->"布";default->"其他";};九、Scanner和Random的使用1.扫描器scanner//创建一个Scanner对象Scannerscanner=newScanner(System.in);//接受用户输入的整数System.out.println("输入一个整数");inti=scanner.nextInt();System.out.println("输入的整数为:"+i);//接受用户输入的字符System.out.println("输入一个字符串");Stringstr=scanner.next();System.out.println("输入的字符串为:"+str);2.随机数 random//创建一个Random对象Randomrandom=newRandom();//生成一个随机数inti=random.nextInt();System.out.println("生成的数为:"+i);生成指定范围的随机数//创建一个Random对象Randomrandom=newRandom();//生成25-55之间的随机数,公式:(最大值-最小值+1)+最小值inti=random.nextInt(31)+25;System.out.println("生成数为:"+i);十、循环1.while循环循环3要素1. 变量初始化2. 循环的条件3. 变量改变语法:变量初始化while(循环的条件){循环体(变量改变)} 示例://打印1-10inti=0;//变量初始化while(i
|
|