Java学习笔记(一)

   论 Java 与 C 和 C++ 的相似性(有C++或C 基础的 学 Java 更轻松的说

 

一,工具的选择(暂时只用过 idea 和 eclipse)

  两者比较来说,更喜欢用 idea,因为其风格与pycharm大同小异,比较习惯上手,当然两者并没有什么优劣之分,根据个人实际情况即可

  界面截图

   idea

 

   eclipse

  

 

  注意点:

  使用 idea 需要 在此之前 下载好 jdk

  使用 eclipse 则 可以不用(后期的使用需不需要,暂时还不清楚,对于刚入门的萌新==> Me 来说)

 

 

二, Java基本数据类型

  这 和 C++ 很类似,但是也有许多不同,所以这里多写不同点或增加点

  整型在原有的 int float double long 基础上增加了 byte

   byte 值范围为(-127 ~ 128)

    其值的范围和 C中的 int 挺像的说

   float类型的创建则必须在其值后 + f , 原因:一般小数值均默认为double类型的说

float f = 5.234f;

 

  字符型 char, 但是其的格式多了许多束缚

   char类型用于存放一个字符,值必须用单引号 ' 表示(双引号表示字符串),其长度与 short 一样,同为 16位

   如果用 char型 创建字符串则会编译错误,且只能存放一个字符,否则也编译错误

   正常格式

char c = '中';

  字符串类型 String, 这里就不详述了,和 C++中的 String 类 挺像

String str = "Hello World";

 

三,字面值以及类型转换

 字面值 即 给基本类型的变量赋值的方式

  3.1 整数字面值

   当以l或者L结尾的时候,一个整数字面值是long类型,否则就是int类型。 建议使用大写的L而非小写的l,因为容易和1混淆。
   byte,short,int和long的值都可以通过int类型的字面值来创建。整数的字面值可以用如下四种进制来表示:    
   十进制: 基 10, 包含从0-9的数字,平常用的就是这种
   十六进制: 基 16, 包含从0-9的数字,和从A-F的字母。
   八进制: 基 8, 包含从0-7的数字
   二进制: 基 2, 包含0和1。(从 JAVA7开始就可以创建 二进制的字面值了)

1 long val = 26L; // 以L结尾的字面值表示long型
2 int decVal = 26;  // 默认是int类型
3 int hexVal = 0x1a;  // 16进制
4 int oxVal = 032; // 8进制
5 int binVal = 0b11010;  // 2进制
6 // 写的时候有点带Python的习惯,比如注释 空格 =-=

 

  3.2 浮点数字面值

   当以 f 或者 F 结尾的时候表示一个 float类型,否则就是 double类型(以 d 或 D结尾时,写不写都行,即默认为double类型) 

   浮点数还可以用 E 或者 e表示(科学计数法)

1 float f1 = 123.4F;  // 以F结尾的字面值表示float类型
2 double d1 = 123.4;  // 默认就是double类型
3 double d2 = 1.234e2;  // 科学计数法表示double

  3.3 转义字符(和 C++ 一样,这里不多叙述,代码示例即可)

1 char tab = '\t';  // 回车
2 char newLine = '\n';  // 换行
3 char carriageReturn = '\r';  // 制表符
4 char doubleQuote = '\"';  // 双引号
5 char singleQuote = '\'';  // 单引号
6 char backslash = '\\';  // 反斜杠

 

 数据类型转换(顾名思义,当然这和 C++中依旧有几层相似滴)

 

 

 

  3.4 char的特殊性

   虽然 short 与 char 同为 16位,但是 两者间进行转换仍然需要强制类型转换

1         char w = 'A';
2         short q = 80;
3         // 虽然short 和 char 都是16位,长度是一样的
4         // 但是彼此之间,依然需要进行强制转换
5         w = (char)q;

 

  3.5  直接转换(低精度向高精度转换, 其意思是=>转是可以转的,但是不对转换之后的值负责。 风险自担,后果自负)

   上图中 -> 即低精度向高精度的顺序

  3.6 强制类型转换(高精度向低精度转换)

   如果 前者值 大于 后者类型的最大值,则需要同转换为二进制,然后根据低精度的位数进行切割

  3.7 四则运算过程中的自动转换

    如果有任何运算单元的长度超过int,那么运算结果就按照最长的长度计算 

1 int a = 5; 
2 long b = 6; 
3 a+b -> 结果类型是long
View Code

 

    如果任何运算单元的长度都不超过int,那么运算结果就按照int来计算 

1 byte a = 1; 
2 byte b= 2; 
3 a+b -> int 类型
View Code

 

   如果是两个不同类型的值相加,好比

long l = 12L;
int i = 3;
// 两者相加类型为 long, 若还需要使之成为 int 类型,则需要强转
int j = (int)(l + i);

 

 四,命名规则

  变量命名 只能使用 字母,数字,$,_

  变量的第一个字符 只能使用字母 $ _ , 不能使用数字

  使用完整的单词命名,而非缩写

  不能使用关键字,但是可以包含关键字

  中文也是可以命名变量的,但是在实际工作中别这么做的说

 

五,作用域

 和其他语言一样,就近原则,作用域范围越小,其优先级越高

 

六,final

 final 修饰一个变量,其作用 和 static 相同 

 

七,表达式与块

 与 C++ 类似

  以 ; 结尾的一段代码,即为一个表达式

  区别

   ; 单独一行也为一个表达式

  开始 到对应的 结束,即一个

 

posted @ 2019-08-20 21:11  小喵钓鱼  阅读(327)  评论(0编辑  收藏  举报