当前位置:网站首页 > Java基础 > 正文

02java基础



java基础:

01Java里的注释

  1. 单行注释 //
  2. 多行注释 可以注释一段文字 /* */
  3. javadoc 文档注释 / */
  4. 注释(书写注释是一个非常好的习惯)

02 02java基础 标识符

  1. java所有的组成部分都需要名字,类名、变量名以及方法名都被称为标识符

03 数据类型

01强数据类型

  1. 要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用

02Java数据乐星分为两大类

  1. 基本类型
    • 整数类型
      • byte
      • short
      • int
      • long long num = 40L long类型要再数字后面加个L
    • 小数
      • float float num1 = 50.1F float 类型要在数字后面加个F
      • double
    • 字符
      • char
    • 布尔值:是非
      • true
      • false
  2. 引用类型
    • 接口
    • 数组

04数据类型扩展及面试题讲解

  1. 整数扩展(进制)
  • 二进制0b
  • 八进制0
  • 十进制
  • 十六进制0x 0~9,A~F,
  1. 浮点数扩展 银行业务怎么表示? 钱
  • float 有限 离散 舍入误差 大约 接近但不等于 最好完全避免使用浮点数进行比较!
  • BigDecimal 数学工具类( 银行业务)
  1. 字符扩展
 char c1 ='a';
char c2 = '中';
System.out.println(c1);
System.out.println((int)c1);//sout
System.out.println(c2);
System.out.println((int)c2);//强制转换
//所有的字符本质还是数字
//编码Unicode 表:(97 = a 65 = A) 0-65536 2的16次方

  1. 转义字符
  • 制表符
  • 换行
  1. 对象内存分析
     //对象 从内存分析
    String sa = new String("hello world");
    String sb = new String("hello world");
    System.out.println(sa==sb);

    String sc = "hello world";
    String sd = "hello world";
    System.out.println(sc==sd);

    ==比较的是地址。如果比较的对象是基本数据类型,则比较的是数值是否一致。如果比较的是引用数据类型,则比较的是对象类型的地址是否一致。

    String是引用类型的变量。new是新建一个内存堆,新的地址,比较的是指向内存地址是否相同。第二个是常量池中,比较的是内容是否一致。

  2. 布尔值写法
     //布尔值拓展
    boolean flag = true;
    if (flag==true){}//新手
    if (flag){}//老手

05类型转换

  1. 由于Java是强类型语言,所以有些运算需要进行类型转换。

    低-------------高

    byte,short,char-> int -> long -> float -> double

  2. 运算中,不同类型的数据先转化为同一类型,然后进行运算。
    package base;

    public class Demo5 {
    public static void main(String[] args) {
    int i =128;
    byte b = (byte)i;//byte的区间是-128-127 ,超过范围就随机赋值
    System.out.println(i);
    System.out.println(b);
    //强制转换 (类型)变量名 高--低
    //自动转换 低--高
    int ii =128;
    double bb = ii;
    System.out.println(ii);
    System.out.println(bb);
    /*
    注意点:
    1.不能对布尔值进行转换
    2.不能把对象类型转换为不相干的类型
    3.在把高容量转换到低容量的时候,强制转换
    4.转换的时候可能存在内存溢出或精度问题
    */
    System.out.println("===========");
    System.out.println((int)23.7);//23
    System.out.println((int)-45.89f);//45

    System.out.println("===========");
    char c = 'a';
    int d = c+1;
    System.out.println(d);

    }
    }

    package base;

    public class Demo6 {
    public static void main(String[] args) {
    // 操作比较大的数的时候,注意溢出问题
    //jdk新特性,数字之间可以用下划线分隔
    int money = 10_0000_0000;
    int years = 20;
    int total = money*years;//-,结果本应该是200_0000_0000,计算的时候已经溢出了。
    long total2 = money*years;//-,默认是int类型,转换之前已经存在问题了

    long total3 = money*((long)years);//先把一个数先转为long
    System.out.println(total);
    System.out.println(total2);
    System.out.println(total3);
    }
    }

06变量、常量、作用域

1.变量

  1. 变量:就是可以变化的量。
    • java是一种强类型的语言,每个变量都必须声明其类型。
    • java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。
    • type varName [=value] [{, varName[=value]}];
    • //数据类型 变量名 = 值;可以使用逗号隔开来声明多个同类型变量(但是最好不要在一行写多个变量,不具有良好的可读性。)
      package base;

      public class Demo7 {
      public static void main(String[] args) {
      //int a,b,c
      int a=1,b=2,c=3;//写在一行,可读性低。
      String name = "ysl";//引用类型
      char x = 'x';
      double pi = 3.14;
      }
      }

  2. 注意事项:
    • 每个变量都有类型,类型可以是基本类型,也可以是引用类型。
    • 变量名必须是合法的标识符。
    • 变量声明是一条完整的语句,因此每一个声明都必须以分号结束。

2.变量作用域

  1. 类变量
  2. 实例变量
  3. 局部变量
public class Demo08 {
//类变量 static
static double salary = 2500;

//属性:变量
//实例变量:从属于对象;如果不自行初始化,这个类型的默认值0 0.0
//布尔值:默认false
//除了基本类型,其余的默认值都是null

String name;
int age;

//主程序方法
public static void main(String[] args) {

//局部变量:必须声明和初始化值(只能在这个括号里使用。)
int i =10;
System.out.println(i);

//变量类型 变量名字 = new Demo08();
Demo08 demo08 = new Demo08();
System.out.println(demo08.age);
System.out.println(demo08.name);

//类变量 static 可以直接使用
System.out.println(salary);
}
//其他方法
public void add(){

}
}

3.常量

  1. 常量(Constant):初始化后不能再改变值,不会变动的值。
  2. 所谓常量可以理解为一种特殊的变量,它的值被设定后,再程序运行过程中不允许被改变。
  3. final 常量名 = 值;

    final double PI = 3.14;

  4. 常量名一般使用大写字符。
package base;

public class Demo09 {
//修饰符,不存在先后顺序,还有public,private
static final double P = 3.14;
public static void main(String[] args) {
System.out.println(P);
}
}

4.变量的命名规范

  1. 所有变量/方法/类名:见名知意

    驼峰原则:除了第一个单词除外,后面的单词首字母大写,如:lastName

  2. 类成员变量:首字母小写和驼峰原则:monthSalary
  3. 局部变量:首字母小写和驼峰原则
  4. 常量:大写字母和下划线:MAX_VALUE
  5. 类名:首字母大写和驼峰原则:Man,GoodMan
  6. 方法名:首字母小写和驼峰原则:run(),runRun()

07运算符

1.java语言支持如下运算符:

  1. 算数运算符:+, -, *, /, %, ++, --
package operator; public class Demo01 { public static void main(String[] args) { //二元运算符 //Ctrl+D 复制当前行到下一行 int a = 10; int b = 20; int c = 25; int d = 25; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/(double)b); //a/b为int类型,结果为0.5,向下取整但是最后出来为0; //因此要提前把一个数换类型。 } } 
package operator; public class Demo02 { public static void main(String[] args) { long a = 3123L; int b = 123; short c = 10; byte d = 8; //没有long,运算都为int //不同类型混合运算无论是赋值还是运算都是向最高位转 System.out.println(a+b+c+d);//Long System.out.println(b+c+d);//int //System.out.println((String)(c+d)); //int//Inconvertible types; cannot cast 'int' to 'java.lang.String' System.out.println((double)c+d); } } / 答案: 3264 141 18 18.0 */ 
package operator; //自增,自减 public class Demo04 { public static void main(String[] args) { //++, -- 自增,自减,一元运算符 int a = 3; int b = a++;//执行完这行代码后,先给b赋值,再自增 //a = a+1; System.out.println("a=:"+a); System.out.println("======="); //a = a+1; int c = ++a;//执行完这行代码前,先自增,再给c赋值 System.out.println("a=:"+a); System.out.println("b=:"+b); System.out.println("c=:"+c); //幂运算 很多运算使用工具类 double pow = Math.pow(2,3); System.out.println(pow); } } 

  1. 赋值运算符:=
  2. 关系运算符:>,<,>=, <=,==,!=instanceof
package operator; public class Demo3 { public static void main(String[] args) { //关系运算符返回的结果:正确,错误 布尔值 //if int a = 10; int b = 20; int c = 21; //取余 System.out.println(c%a);// c/a 21/10 =2...1 System.out.println(a>b); System.out.println(a<b); System.out.println(a==b); System.out.println(a!=b); } } / 答案: 1 false true false true */

  1. 逻辑运算符:&&,||,!
package operator; //逻辑运算符 public class Demo05 { public static void main(String[] args) { //与(and) 或(or) 非(取反) boolean a = true; boolean b = false; System.out.println("a&&b:"+(b&&a));//逻辑与运算:两个变量都为真,结果才为真 System.out.println("a||b:"+(a||b));//逻辑或运算:两个变量有一个为真,则结果为true System.out.println("!(a&&b):"+!(a&&b));//如果是真,则变为假,如果为假,则变为真。 //短路运算 第一个是flase 就不会进行下一个了。 int c = 5; boolean d = (c<4)&&(c++<4); System.out.println(d); System.out.println(c); } } 

  1. 位运算符:&,|,^, ~, >>,<<,>>>(了解!!!)
package operator; public class Demo06 { public static void main(String[] args) { /* A = 0011 1100 B = 0000 1101 --------------- A&B = 0000 1100(如果两个都为1,结果为1) A/B = 0011 1101(对应位都是0结果为0,不然为1) A^B = 0011 0001 (对应位置相同就为0,不同就为1) ~B = 1111 0010(与本身完全相反) 2*8=16怎么运算最快 2*2*2*2 效率极高 << *2 左移 >> /2 右移 0000 0000 0 0000 0001 1 0000 0010 2 0000 0011 3 0000 0100 4 0001 0000 16 */ } } 

  1. 条件运算符: ?:
package operator; //三元运算符 public class Demo08 { public static void main(String[] args) { //x ? y:z //如果 x==true,则结果为y,否则为z int score = 80; //if String type = score <60? "bu及格":"及格"; } } 

  1. 扩展赋值运算符:+=,-=,*=,/=
package operator; public class Demo07 { 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+"");//只要不是在最末尾,都会把其余转化成String } } 

2.优先级

  1. 算术运算符、赋值运算符、逻辑运算符、关系运算符等基础运算符,并且在书写赋值语句时都没添加圆括号,显然是默认了先完成算术、逻辑、关系等运算,最后才进行赋值操作。
  2. 算术运算符内部各符号的优先级顺序依次为:+正号、-负号 > 乘号*、除号/、取余数符号% > 加号+、减号-。
  3. 关系运算符,关系符号包括等号、不等号、大于号、小于号等等,它们互相之间的优先级是一样的。
  4. 逻辑运算最终的优先级顺序为:逻辑非运算! > 关系运算符(含等号、不等号) > 其它逻辑运算符(含与符号&、或符号|、异或符号^)
  5. 总结:总结一下,倘若没有圆括号加以约束,那么对于数值变量来说,几种运算符的优先级顺序依次为:正号、负号 > 乘号、除号、取余号 > 加号、减号 > 大于号、等号、小于号、不等号 > 各种赋值符号;对于布尔变量来说,相关运算符的优先级顺序依次为:逻辑非 > 等号、不等号 > 逻辑与、或、异或 > 各种赋值符号。

    https://www.cnblogs.com/pinlantu/p/9853493.html

08包机制

1.包

为了更好地组织类,Java提供了包机制,用于区别类名的命名空间

2.包语句的语法格式为:

  • package pkg1[ .pkg2[. pkg3...]];
  • 一般利用公司域名倒置作为包名;com.baidu.com
  • 为了能够使用某一个包的成员,我们需要在Java程序中明确导入该包。使用“import”语句可以完成此功能。

    import package1.[.package2...].(classname|*);

    eg.

    import com.kuang.base.*;(导入这个包的所有类)

09JavaDoc

javadoc命令是用来生成自己的API文档的

  1. 参数信息:
    • @author 作者名
    • @version 版本号
    • @since 指明需要最早使用的jdk版本
    • @param 参数名
    • @return 返回值情况
    • @throws 异常抛出情况
    package base; / * @author ysl * @version 1.0 * @since 1.8 */ public class Doc { String name; / * * @param name * @return * @throws Exception */ public String test(String name)throws Exception { return name; } //kuangshen 是通过命令行 javadoc 参数 Java文件 //作业:学会查找使用IDEA生产JavaDoc文档! 面向百度编程 } 
    1. IDLE上操作进行生成dos文档

  • 上一篇: java没有基础
  • 下一篇: java基础词汇
  • 版权声明


    相关文章:

  • java没有基础2025-04-15 09:10:06
  • java基础教程txt2025-04-15 09:10:06
  • java语言程序设计基础篇第八版2025-04-15 09:10:06
  • java基础5512025-04-15 09:10:06
  • java基础手册 csdn2025-04-15 09:10:06
  • java基础词汇2025-04-15 09:10:06
  • java基础高级2025-04-15 09:10:06
  • java基础谁讲的好2025-04-15 09:10:06
  • 图灵java基础语法2025-04-15 09:10:06
  • java继承基础2025-04-15 09:10:06