IT十八掌第二天课程总结

今天学完IT十八掌第二天java基础课程:
学习内容:
 今天的主要内容是JAVA语法基础知识:主要讲了JAVA中的关键字(中英文相对应),
标识符,注释的相关知识
 今天的重点是 “运算符”  的相关知识 以及 “程序的流程结构”
遇到的问题:
   
需要帮助的问题
 知识点比较多,每一集都有很多的知识点,对于没有JAVA基础的初学者来说有很大的压力。
所以希望在布置完作业后,在给出的答案的代码中 能够 详细到每一个关键行都给出相应的注释。
  今天主要讲了JAVA基础的语法基础:
Java元的基础组成: 关键字--标识符--注释--常量和变量
             运算符--语句--函数--数组
关键字
-----------
[定义数据类型的关键字]
class//类
interface//接口
byte//字节bit:位
short//短整型 2 byte
int //整型   4 bytes
long//长整型 8 bytes
float//浮点型(单精度)
double//双精度浮点.
char//字符 (/t /n也为char类型)
boolean//布尔 false true
void//空 
[定义数据类型 值 的关键字]
false       //
true        //
null//空,不存在
[用于定义流程控制的关键字]
if//如果
esel//否则
switch//分支
case//情况
default//默认,(缺省)
while//当.. 循环
do//
for//for 循环
break//中断
continue//继续
return//返回
[访问权控制修饰符的关键字]
private//私有的
proected//受保护的
public//公共的
[class function(函数) modifier(修饰符)]
abstract//抽象
final//最终的
static//静态的
synchronized//同步
extends//扩展
implements//实现
new//新建
this//当前
super//超类,父类,
instanceof//是否是xxx实例
try//尝试
catch    //捕获
finally   //最终
throw    //抛出
throws    //定义类声明时,抛出异常
package   //包
import   //导入 export
native   //本地的
transient//瞬时的,暂时的,临时的 persistent
asset//断言
标识符
----------------
自定义的名称规则 英文大小写+数字+符号 “_ ”"$"
注意:1.数字不可以开头  2.不可以使用关键字
    3.Java严格区分大小写   4.尽量有意义
Java 名称规范
   
     包名:aaa.bbb.ccc.ddd,全都小写
类  :helloWorld --> HelloWorld,所有单词首字母大写
变量和函数: convertStringToInt --> convertString2Int
convertStr2Int --> 除第一个单词外,其他单词首字母大写
常量名:final String BRAND ="benz"  XXX_YYY_ZZZ ;所有单词大写,多单词用“_”链接
 
注释
-----------------
1.单行注释
//
2.多行注释
/*
  
*/
3.文档注释
  /**
   *
   */
常量和变量
-------------
常量的分类:
1.正数常量 ,所有的整数
2.小数常量,所有的小数
3.布尔boolean常量 true 和false
4.字符常量  一个数字或者符号用‘’ 标识
5.字符串常量  一个或多个字符用“”标识
6.null常量 只有一个数值及时:null
正数主要的四种表现类型:
二进制 0.1
八进制 0-7
十进制 0-9
十六进制0-9 A-F  满16进1 已0x开头
主要涉及到进制的转换:
* 负数的二进制表现形式
  对应的正数的二进制取反+1
变量
变量是 内存中的一个存储区域
    该区域有自己的名称(变量名)类型(数据类型)
    该区域的数据可以在同一类型范围内不断变化
  变量可以用来不断的存放同一类型的常量,并可以重复使用。
使用变量的注意事项;
    变量的使用范围    {} 之间
    要初始化变量
格式 :
   数据类型 变量名 = 初始化值 
    如 int a =1;
 
数据类型 :
    基本数据类型:primitive
           数值型:
              整数类型:byte short int long
               浮点型:float double
           字符型:char 
           布尔型:Boolean
     引用数据类型:
            类:class           接口:interface
           数组:[ ]
整数的默认类型为 :int 小数的默认类型为 double 
数据类型转换:
   自动类型转换
   byte short char-->int
   float-->double
   强制类型转换
  byte i=1;
  byte a =(byte) i +1;
* 所有数据与String 型数据进行运算时会自动转换为String型
运算符
----------------
算数运算符
+ (正号,加,字符串相加)
- (负号,减)
*
/
%  取模   12%5 为2  为int型取整
++ (前加加 先自增一再运算 后加加 先运算再加一)
--  同上
赋值运算符
= ,+= , -=, *= , /=, %=
int a =1;
a=a+1   <---> a+=1 是相同的
short s=1;
s=s+1;  //这里会报编译错误 因为s+1 会自动转换为int 类型 无法赋值给short类型的s
s+=1  //通过编译 因为+= 在给s赋值时会自动完成强转操作。
比较运算符:
 ==     等于
 !=    不等于
 <     小于
 >     大于
 <=    小于等于
 >=    大于等于
 instanceof  检查是否是类的对象
逻辑运算符:
 &   与    
 |   或
 ^   异或  true^false     true
 !   非
 &&  短路与
 ||  短路或
 * 单&  左边无论真假 ,右边都进行运算
 * 双&& 时 如果左边为真,由变参与运算,如果为假,右边不参与运算
  
  "|" 和 "||" 和单"&""&&"类似
  "^" 异或 和"|" 的区别是 左右都为true时  结果为 false
  
 位运算符
 <<     左移               (相当于乘2的倍数)  1<<1 = 1*2^1 =2
 >>     右移                 同理
 >>>    无符号右移           
 &      与运算
 |      或运算
 ^      异或运算
 ~      反码
     位运算是直接对二进制进行的运算
     
   <<  空位补0,被移除的高位丢弃,空缺位补0。     
  >>  被移位的二进制最高位是0,右移后,空缺位补0;
       最高位是1,空缺位补1。
   >>> 被移位二进制最高位无论是0或者是1,空缺位都用0补。
    &  二进制位进行&运算,只有1&1时结果是1,否则是0;
    |  二进制位进行 | 运算,只有0 | 0时结果是0,否则是1;
    ^  相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0
       不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1
       
 三元运算符 
    
    格式 (条件表达式) ? 表达式1: 条件表达式2;
    如果条件为true 运算后的结果为表达式1;    
    如果条件为false 运算后的结果是表达式2
    

 程序的流程控制  
  
  
  判断结构 
------------------
   if语句                     3.if (条件表达式){
   1.  if(true){                  执行语句 ;
       执行语句;                    }else if(条件表达式) {  
      }                                 执行语句;
                                     }……  {
                                         执行语句;
   2.if (条件表达式){                }else{
     执行语句;  
   }else{                            执行语句;
     执行语句;
   }                                       
  
  
if 语句 条件表达式无论写成什么样子,只看最终的结构是否是true 或者false  
  
 选择结构 
   
  switch (表达式){
     case 取值1:
         执行语句;
         break;//视情况决定是否加break
      case 取值2;
         执行语句;
         break
       ……
       default:
         执行语句;
         break  
  }
  
   1.switch 语句选择的类型只有四种 byte short int char
  
   2.case和default 之间没有顺序 。 先执行第一个case , 没有匹配的case执行default。
   
   结束switch的两种情况  ① 遇到break , 执行到switch语句结束 
                         ② 如果匹配的case或者default没有对应的break 那么程序会继续向下
                         执行,运行可执行的语句,知道遇到break 或者switch结尾结束。  
  
  
  循环结构

代表语句  while  do while  for

while 语句表达式        do while 语句格式

while(条件表达式)      do {

{                   执行语句;

执行语句;             }while(条件表达式);  //至少执行一次

}

   for (初始化表达式;循环条件表达式;循环后的操作表达式//迭代条件)
     {
       执行语句;//循环体
     
     }

/*

1.for 里面的两个表达式的运行顺序  ,初始化表达式只读一次,判断循环条件true-->循环体-->
循环后的操作表达式-->判断循环条件……  知道不满足条件

2.for 中定义的变量在for循环结束后就被释放 //只能在for {}的范围内调用

while循环使用的变量结束后依然可以继续使用

3.while (true )和 for (;;)为最简单的无限循环  //无条件控制循环次数

其他流程控制的语句

break (跳出)

continue (继续) //应用于循环结构  ,continue 语句是结束本次循环继续下次循环

函数 function  定义

----------------------

add        //+

subtract     //-

multiple     //*

divide      // /

支持 float double long int //函数的重载

时间: 2024-08-07 20:57:04

IT十八掌第二天课程总结的相关文章

IT十八掌掌六天课程总结

今天学完IT十八掌第六天java基础课程: 学习内容: 1,接口与抽象类: interface ---------------------------------------------- 1,所有方法都是抽象的 2,属性有public static final修饰,这是默认的,也就是说接口属性是静态常量. 3,接口之间可以多重继承, 4,接口之间是继承关系 5,类和接口之间是实现关系. 6,面向接口编程降低耦合度 抽象类 ------------------------------------

IT十八掌第二天作业

1.负数的表现形式,为什么如此设计? 2.-128是在内存中是如何存储的?推算过程? 3.如果字节表示未11111111,则其真实数据是多少? 4.正负数是否都支持补码的方式? 5.正数是否是负数的减一取反? 1.负数的表现形式,为什么如此设计? 答: 负数以原码的补码形式表现出来. 正负数相加得0,溢出最高位,正好等于0. 2.-128是在内存中是如何存储的?推算过程 答: +128的用二进制表达为1000 0000 取128的反码为     0111 1111 加1得到-128(byte)

十八掌第三天课程总结

学习内容 数组的形式,数组的内部存储结构 选择排序,冒泡排序,折半查找 课后作业 1.定义一个函数,函数功能是动态提取int[]中元素的最大值. 2.定义一个函数,从数组中查询指定的元素首次出现的位置. 3.定义函数,完成冒泡排序,大数下沉. 4.折半查找. 5.阐述 6.定义一个函数,实现矩阵的转置.arr[i][j] == arr[j][i];//前提条件是正方的. 7.遍历三维组数,横向输出三维数组的每一个层. 8.定义一个类:Dog 有名称 color age cry(); 9.阐述出来

IT十八掌掌第十二天课程总结

今天学完IT十八掌第十二天java基础课程: 学习内容: HashMap和HashTable底层都是采用数组+链表实现的. 结合了数组的寻址快,链表增删快的特点.使用散列算法(hash算法)将元素分配到数组的元素当中, hash分区默认16个,每个分区内存储的是链表 1,算出hashcode,进行&0xof取出后四位初步比较,确定分区 2,然后拿对象和链表中每个对象相比较,比较每个对象的hash码是否相同. 1. 判断hashcode是否相同 2.判断是否同一对象或者equals返回true 所

IT十八掌掌第七天课程总结

今天学完IT十八掌第七天java基础课程: 学习内容: 1,复习多态,抽象类与接口异同,适配器模式 2,匿名内部类 new InterfaceDemo(){具体方法实现 }; 3,异常 -------------------------------- Throwable |---Error |---Exception 举例:RuntimeException运行时异常 getMessage() toString()方法 printStackTrace() 打印栈跟踪信息; 举例: throws  

IT十八掌掌第八天课程总结

今天学完IT十八掌第八天java基础课程: 学习内容: 复习jar命令 --------------- [将类路径下的类打成jar文件] jar cvf myjar.jar -C classes/ . jar cvfe myjar.jar a.a1.a11.a111.A -C classes/ .        //e指定的入口点. [使用java -jar参数来运行程序] java -jar myjar.jar                            //执行jar文件 java

IT十八掌课程体系SPARK知识点总结

Spark知识点 IT十八掌课程体系SPARK知识点如下: 有需要IT十八掌体系课程的可以加微信:15210639973 1.定义 MapReduce-like集群计算框架设计的低延迟迭代和交互使用的工作. 2.体系结构 3.一些重要概念的解析 (1) RDD(resilient distributed dataset) 弹性分布式数据集一个只读的,可分区的分布式数据集,能够部分或全部的缓存在内存中(数据溢出时会根据LRU策略来决定哪些数据可以放在内存里,哪些存到磁盘上),用来减少Disk-io

IT十八掌掌第四天课程总结

今天学完IT十八掌第四天java基础课程: 学习内容: java基本数据类型: ----------------------- byte    :    一个字节,-128 ~ 127  = 256 short    :    两个字节, -32768 ~ 32767 int        :    四个字节, long    :    八个字节, float    :    4字节 double    :    8字节 boolean    :    1个字节 char    :    2个字

IT十八掌掌第五天课程总结

今天学完IT十八掌第五天java基础课程: 学习内容: 1,jvm栈空间设置 堆空间设置:    java -Xmx<size> java -Xms<size> 栈空间设置: java -Xss<size> 死循环不会导致栈溢出,因为在不断的压栈,弹栈 方法不断迭代会导致栈溢出,不断的在压栈(方法帧) 2,继承 构造函数: 为什么没有返回值. 因为构造函数就是为了返回对象的,固定了,所以没必要定义返回值类型. 代码块 ----------------------- 构造