Java教程

3java基础补充(今天和昨天学习内容整理)

本文主要是介绍3java基础补充(今天和昨天学习内容整理),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.java单机项目

 

2.JavaSE又被称为J2SE,JavaEE和JavaME类同。

3.Java特性(总结)

(1)跨平台/可移植性:相同的Java代码可以在任何一个支持的平台(操作系统)上运行,这是因为.java源文件首先会编译为.class的字节码文件,这个字节码文件会在不同操作系统的不同JVM上执行,最终获得相同的效果。这也正是“一次编译,处处运行”的原理。同时,Java规定所有的数据类型在所有平台上占得内存都相同,保证了跨平台性的可行性。

(2)面向对象:Java是完全面向对象的编程语言,其他面向对象的语言还有C#,C++,Python等。

(3)安全性:Java适合于其分布式/网络服务的开发,是安全性很高的语言。

(4)简单:Java较C语言比较简单。同时去除了指针的概念。

(5)高效性:Java通过即时编译技术,即将一些经常容易用到的热点代码的机器码保存在本地,这样大大提升了Java的执行效率。

(6)分布式:

(7)多线程:Java可以同时开启多个线程、多级线程,可以提供更好的交互响应和实时行为。

(9)健壮性:Java的健壮性体现在一是在编写代码时就显示了许多C系语言在编译时才会出现的错误;二是Java会处理一些可能的异常,将他们在try-catch块中处理或是抛出。

(10)垃圾处理机制:也称GC,是一种系统级线程,可以实时跟踪java中用不到的内存并自动将其释放,避免了C系语言需要程序员自己清除垃圾的工作。但仍可能造成内存的溢出或崩溃。

4.开发一个Java程序:

(1)安装jdk(java development kit) jdk = jre+开发工具包 jre = 核心API+JVM。其中jdk用于开发java程序,jre用于运行java程序。

(2)配置环境变量:配置%JAVA_HOME%为jdk目录,PATH添加%JAVA_HOME%/bin。目的是为了在系统中处处可以直接运行java命令。

(3)创建.java源文件,在其中添加java代码。其中如果有主类,主类名必须和文件名一致。

(4)在源文件目录下,使用cmd,输入javac 原文件名.java 命令,进行编译。编译完成后输入java 源文件名 命令,执行字节码文件。在jdk11中也可以直接输入java 源文件名.java 编译+运行。

(5)注意事项:在代码中所有的标点符号都必须是英文状态;代码需要有良好的格式:在java代码中 以大括号进行层级区分 在同一个大括号中的代码 应该具有相同的缩进层次 缩进一般一个层级缩进一个制表符(Tab);在java代码中 每条语句结束必须以分号结尾;在java中 所有文件的存放路径或者软件的安装路径都必须是全英文的,路径中不能出现中文或空格 等特殊符号;

当修改了java源程序之后 每次都需要重新编译运行。

5.java的两个核心:jvm和gc

6.数据类型、运算符、表达式要点

(1)输入整数默认为int类型。bool、char、short类型的变量,一旦经过运算,其类型都会变成int类型,不能直接赋值。但是赋值运算符可以自动将其类型强制转换。

(2)发生上溢(正变负)时,数值的计算使用补码的计算过程。

(3)字符串拼接中有整型时,在字符串前面的整型进行计算,在字符串后面的整型视为字符串。

(4)表达式的计算,首先是按照从左向右的顺序,其次注意自增自减变量在表达式中的变化,如

  int y = x++ + x++ + x++;
  System.out.println(y);// 10 +11 + 12 = 33

(5)模运算规则:被取余数的符号决定余数的符号,如

int ss1 =  7 % 3;// 1
int ss2 = -7 % 3; //-1
int ss3 = 7 % -3 ; // 1

(6)数据类型表示的范围大小:bool->char/short->int->long->float->double。大的自动兼容小的,多个类型进行运算,结果自动转为大的类型。

(7)浮点数运算,两个float类型运算结果仍然为float类型。

(8)字符运算中使用的是字符的ascii码。常用的有'a'=97 'A'=65 '0'=48。注意区分(char)0、(int)'0'和'0'。

(9)区分Java中逻辑与/或和按位与/或:看运算符两边的类型,如果是整型则为位运算符,如果是boolean类型则为逻辑运算符。

(10)交换两数内存最少、时间最短的方法是异或再异或。

(11)long类型表示超出int范围的数,需要在后面加上l。

(12)十进制直接输入,8进制前面加0,16进制前面加0x,2进制前面加0b。

(13)由于double和float类型并不能够存储精确的数值,因此最好不要使用浮点数类型比较,会得到一定精度以上的数值相等的情况。如果要保存很大的数可以使用大整数或者字符串。

 

 

 

(14)char可以存英文、中文字符、数字以及unicode码,因此它的大小是2字节。boolean只有true和false两个值,因此它的大小是1bit。

(*15)utf-8是一种unicode编码,它使用变长存储,一个n字节的utf-8码,第一个字节前n位是1,后面每个字节高两位都是10。这样保证了只有128个的ascii码不会浪费空间。

(16)如图所示,两个int整数相乘发生了上溢,但在转化为long类型之前运算就结束了,错误的结果还是保存到了long类型中。正确的写法应该是将任意一个强转为long类型。

int money =1000000000;
int year = 20;
long total = money * year;
System.out.println(total);//-1474836480

(17)一般只针对两个整型求余,但浮点数也可以求余。

7.switch语句

(1)switch的表达式的类型: char, byte, short, int及其对应的引用类型, enum(枚举) , String(jdk7+)

(2)default可以出现在任意位置

(3)switch语句只能实现具体、有限的值的逻辑判断switch语句可以实现的,if语句一定可以实现

8.带标签的break和continue

 outter: for(int i = 101; i < 150 ;i ++){
            for(int j = 2; j < i/2 ; j++){
                if(i % j == 0 ){
                    continue outter;
                }
            }
            System.out.println(i);
        }

9.错题(2)

 

解析:java方法中可以一次传入多个参数,通过数组/list/set以及不定数组等,但是不可以一次返回多个参数,只能放在数组/集合中返回。

 

 

 

 

 D:(char)0 == 0 ,由于数组中的字符一定是可以输入的ascii字符,一定成立;a[i]<=(char)9表示ascii表中前9个ascii字符,而0-9是ascii码中48-57的字符。

 

这篇关于3java基础补充(今天和昨天学习内容整理)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!