`
_kudy
  • 浏览: 16572 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

javase_02(基础)

 
阅读更多

一:java的基本语法

       1.代码都是存放在class里面的

       2.严格区分大小写(num NUM)是两个不同的变量

       3.格式自由.

       4.单行注释与多行注释的和文档注释

       5.标识符:

       全部使用英文字母,骆驼式命名:从第二个单词开始,每个单词的首字母都要大写,其它的小写

(标识符不能为关键字,不能以数字开头)

 

二:java中的变量

    1.有八个原声数据类型和引用数据类型.

    2.类型转换:

      byte、short、char类型在运行过程中都会提升为int 类型(这样的方式叫自动类型)我们可以将一个int类型强制转换成byte、short、char类型 (需要强制类型转换!显示类型转换丢失精度.

      System.out.println('a'+1); 因为 1是int类型的,所以会升级为int 类型.

      System.out.println(""+'a'+1);(任何数字和字符串相并且都自动转换成字符串).

    3.变量的生命周期:

      在方法内定义的变量,当方法被调用的时候,变量被定义,当方法接收的时候。变量也会随着方法释放掉变量的作用域内是不可以重复定义,超出变量的作用域,变量将不能访问.

 

三:java中的函数

    1.定义:函数,又称为方法,能够完成某特定代码的代码块,其个名字,方便于方法的调用函数的作用: 就是可以重复的去利用某一段代码

    2.函数必须有的: 函数名 返回值  返回值类型  (形式参数看需求而定)

    3.形参:方法定义的形参相当于在方法中定义了一个局部变量,当这个方法被调用的时候,也就是对其方法里面的参数初始化啦!初始值为传递进来的参数

    4.返回值类型:可以为任意一个类型,有一种特殊:当方法没有返回值的时候,我们要把返回值类型定义为(void)

    5.return :在方法中可以使用return 返回一个值,(返回的值必须是与返回值类型一致)

    6.方法的重载:

              多个函数具有相同的名字,参数的个数或者类型不同都可以.  返回值类型不能做衡量方法的重载

 

四:java中的运算符

 

1.算术运算符   % 取模,也叫做取余

  ++自增1,--自减1

  ++x 与x++的区别: 本质上是没有区别的,x++是先参与运算再自加  ,而++x先自加一次才参与运算

  在取模运算中,模数的符号会被忽略,被模数符号不能被忽略

2.赋值运算符 = 是赋值的意思

  += ,-=,*=,\=,%=

3.比较运算符号: == 是相互比较的意思

    instanceof:判断该对象是否是属于指定的类型

4.逻辑运算符

    &和&&的区别:

      1. &&如果左边为假,结果注定为假,右边不参与运算

                 2.&如果左边为假,结构注定为假,但是右边会参与运算

    |和||的区别:

      1.如果左边为真,结果注定为真,右边不参与运算

                 2.如果左边为真,结果注定为真,右边参与运算

 

5.位运算符

    &(与):真真得真,真假得假,假假得假

    |(或):真假为真,真真为真,假假为假

    ^(异或):任何一个数与一个指定的数异或两次,其结果等于本身,(第一个数异或第二个数 其结果再异或第二个.其结果等于它本身)(不同为1,相同为0)

    移位运算符:

      <<左移,砍掉高位,低位补0 一定要把它更改成32位。(左移N位相当于乘以2的N次方)

                >>右移,砍掉低位,高位要看最高位的符号。符号位为1,就补1,符号位为0就补0(右移N位,相当于除以2的N次方)

6.switch

switch中的参数是必须是int类型的,但是byte,short,char都是隐式的自动类型提升啦~

break :结束循环

continue:提前结束本次循环,进入到下一次循环

 

 

总结:后期学习不认真!估计时间不安排好!!。。注意。

 

 

小算法复习:
 /*
     不用第三方变量交换两个数的值
 
     异或:第一个数异或第二个数,之后再把结果异或第二个数。其结果等于它本身!
 
     1.<<最高位砍掉,最低位补零
     (左移多少位,其实就是*2的N次方)
     2.>>最低位砍掉.如果最高位是1,前面就是补1,否则补0
     //(又移多少位,就是/2的N次方)
 */
 
 class Demo 
 {
     public static void main(String[] args) 
     {
         int a = 3;
         int b = 5;
 
         a = a ^ b;
         b = a ^ b;
         a = a ^ b ;
         System.out.println("a == "+a);
         System.out.println("b =="+b);
 
     }
 }
 /*某个培训中心要为新到的学员安排房间,假设共有x个学员,
 每个房间可以住6人,让你用一个公式来计算他们要住的房间数
 */
 
 
 class  Demo
 {
     public static void main(String[] args) 
     {
         int num = 48;
         int homeNuber = getHomeNumber(num);
         System.out.println("学生的个数为:"+homeNuber);
     }
     static int getHomeNumber(int num)  //形式参数的初始化其实就是传递进来的参数帮他初始化啦~
     {
         return (num+5)/6;  //给一个最大的限度!
     }
 }
 
 /*
     利用无限循环实现0 - 9 之间的数之间的重复循环
 */
 
 class Demo 
 {
     public static void main(String[] args) 
     {
         int x = 0;
         while(true)
         {
 
             x = (x+1)%10;
             System.out.println(x);
         }
     }
 }
 
 /*
     利用小技巧把10进制转换成2进制代码!
 */
 import java.io.*;
 class Demo 
 {
     public static void main(String[] args) throws Exception
     {
         //读取键盘
         BufferedReader br = 
                 new BufferedReader(new InputStreamReader(System.in));
         System.out.println("本程序可以帮助您把十进制代码转换成二进制代码:");
         String line = br.readLine();
         int num = Integer.parseInt(line);
         StringBuffer sb = new StringBuffer();
         while(num>0)
         {
             int temp = num % 2; //获取到除以2的余数!
             sb.append(temp);
             num = num / 2; 
         }
             sb.reverse();
             System.out.println(sb);
     }
 }
 
 
 /*
     十进制转换成十六进制之方法一。
 */
 import java.io.*;
 class  Demo5
 {
     public static void main(String[] args) throws Exception
     {
         BufferedReader br = 
                             new BufferedReader(new InputStreamReader(System.in));
 
         System.out.println("本程序可以通过十进制转换成十六进制:");
         
         String line = br.readLine();
         int num = Integer.parseInt(line);
 
         StringBuffer sb = new StringBuffer();
         while(num>0)
         {
             int temp = num % 16;
             if(temp>9)
             {
                 sb.append((char)(temp-10+'A'));
             }else
             {
                 sb.append(temp);
             }
             num = num / 16;
         }
         sb.reverse();
         System.out.println(sb);
     }
 }
 
 
 /*
 用移位的方法来求一个数
 
 十进制转换成十六进制
 */
 import java.io.*;
 class Demo 
 {
     public static void main(String[] args) throws Exception
     {
         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
         System.out.println("本程序可以帮助您从十进制转换到十六进制:");
         String line = br.readLine();
         int num = Integer.parseInt(line);
         Ten2Hex(num);
     }
 
     static void Ten2Hex(int num)
     {
         StringBuffer sb = new StringBuffer();
         int count = 0x00000000f;
         for(int i = 0;i<8;i++)
         {
             int temp = num & count;  
             if(temp>9)
             {
                 sb.append((char)((temp-10)+'A'));  //类型要注意
             }
             else
             {
                 sb.append(temp);
             }
             num = num >>4;
             
         }
         sb.reverse();
         System.out.println("结果为:"+sb);
     }
 }
 
 /*
     打印金字塔程序!
     求算法的时候要注意:
     找到求第一个的规律.
     然后循环就可以。
 */
 
 
 class Demo 
 {
     public static void main(String[] args) 
     {
         int n = 4;
         for(int i = 0;i<n;i++)
         {
             for(int j = 0;j<n-i;j++)
             {
                     System.out.print(" ");
             }
             for(int k =0;k<i*2-1;k++)
             {
                     System.out.print("*");
             }
             System.out.println();
         }
     }
 }
 
 
 总结:
     其实switch的参数必须是int类型的,为什么byte char short参数可以传递进来呢?
 因为它的类型自动提升为int类型啦。也就是隐式的进行了强制转换/所以是可以的.

 

分享到:
评论

相关推荐

    02-Java语言进阶_javase_

    Java语言进阶_javase_这部分的学习涵盖了Java标准版(Java SE)的高级特性,主要集中在类、流、文件操作和数据结构等多个方面。以下是对这些主题的详细解释: 1. **Object类**:所有Java类都直接或间接继承自Object...

    Java从小白到入职 视频教程 下载 - 副本 - 副本 - 副本 (2) - 副本.txt

    JavaSE语法基础_16-02-printf格式化输出.mp439--第01单元-JavaSE语法基础_16-03-代码中的一些符号.mp440--第01单元-JavaSE语法基础_17-Java中的注释.mp441--第01单元-JavaSE语法基础_18-变量的基本使用.mp442--第01...

    Java从小白到入职 视频教程 下载 - 副本 - 副本.txt

    JavaSE语法基础_16-02-printf格式化输出.mp439--第01单元-JavaSE语法基础_16-03-代码中的一些符号.mp440--第01单元-JavaSE语法基础_17-Java中的注释.mp441--第01单元-JavaSE语法基础_18-变量的基本使用.mp442--第01...

    Java从小白到入职 视频教程 下载.txt

    JavaSE语法基础_16-02-printf格式化输出.mp439--第01单元-JavaSE语法基础_16-03-代码中的一些符号.mp440--第01单元-JavaSE语法基础_17-Java中的注释.mp441--第01单元-JavaSE语法基础_18-变量的基本使用.mp442--第01...

    Java从小白到入职 视频教程 下载 - 副本 - 副本 - 副本.txt

    JavaSE语法基础_16-02-printf格式化输出.mp439--第01单元-JavaSE语法基础_16-03-代码中的一些符号.mp440--第01单元-JavaSE语法基础_17-Java中的注释.mp441--第01单元-JavaSE语法基础_18-变量的基本使用.mp442--第01...

    Java从小白到入职 视频教程 下载 - 副本.txt

    JavaSE语法基础_16-02-printf格式化输出.mp439--第01单元-JavaSE语法基础_16-03-代码中的一些符号.mp440--第01单元-JavaSE语法基础_17-Java中的注释.mp441--第01单元-JavaSE语法基础_18-变量的基本使用.mp442--第01...

    Java从小白到入职 视频教程 下载 - 副本 - 副本 - 副本 (2).txt

    JavaSE语法基础_16-02-printf格式化输出.mp439--第01单元-JavaSE语法基础_16-03-代码中的一些符号.mp440--第01单元-JavaSE语法基础_17-Java中的注释.mp441--第01单元-JavaSE语法基础_18-变量的基本使用.mp442--第01...

    02-eclipse创建javaSe工程以及基础设置.mp4

    eclipse创建javaSe工程以及基础设置

    JavaSE基础入门视频教程33天之(24)

    JavaSE基础入门视频教程第24天主要涵盖了IO流对象的相关知识,这是Java编程中非常核心的一个部分。IO流在Java中用于处理数据的输入和输出,是程序与外部世界交换信息的重要工具。本教程通过一系列视频讲解了不同类型...

    Java自学视频教程-JavaSE基础-Java基础语法-02、Java语言概述.mp4

    Java是一种编程语言,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的“形式和感觉”,但它要比C++语言更易于使用,而且在编程时彻底采用了一种“以对象为导向”的方式。 使用Java编写的应用程序,既...

    JavaSE基础入门视频教程33天之(2) part1

    本教程“JavaSE基础入门视频教程33天之(2) part1”旨在为初学者提供全面的Java基础知识,帮助他们从零开始掌握这门强大的编程语言。通过33天的学习计划,目标是使学员在完成课程后具备扎实的JavaSE基础,有能力...

    JavaSE基础学习资料文档

    《JavaSE基础学习资料文档》是一份专为Java初学者设计的综合教程,涵盖了Java语言的基础至进阶知识。这份资料旨在帮助学习者深入理解Java编程语言,通过分析源码来探索其底层运行机制,从而提升编程技能。下面将详细...

    JavaSE基础入门视频教程33天之(2) part2

    本"JavaSE基础入门视频教程33天之(2) part2"着重于初级程序员的基础语法学习,旨在帮助没有Java编程基础的人快速掌握这门语言,为他们未来在IT行业的发展打下坚实基础。 在第一天的学习中,可能已经介绍了Java的...

    JavaSE02-lesson27

    【JavaSE02-lesson27】这个主题涵盖了Java标准版(JavaSE)的第二部分,第27个课程的学习内容。在这个阶段的学习中,我们深入探讨了Java编程语言的核心特性,尤其是与数据库交互、文件操作、面向对象设计以及单例...

    JavaSE进阶-02-数组.pdf

    JavaSE进阶课程中,数组是一个重要的概念,它在编程中起到了存储一组相同类型数据的作用。数组被设计成一种引用数据类型,意味着它在内存中占据连续的空间,并且可以存储基本类型(如int、float)或引用类型(如对象...

    JavaSE基础代码总结

    JavaSE包括Java的基础知识,是学习Java编程的起点。下面将根据提供的文件内容,总结JavaSE中的部分基础知识点,包括类的封装、继承、多态,以及IO流的相关知识。 首先,从文件内容中可以看到,Java的基础类结构和...

    JavaSE基础入门视频教程33天之(4) part1

    6. **switch语句**:这部分视频也包含了关于`switch`语句的讲解,`day04_01(基础语法)switch语句解构.avi`和`day04_02(基础语法)switch语句的星期判断.avi`演示了如何使用switch语句进行条件判断,以及在实际问题中...

    JavaSE基础入门视频教程33天之(8) part1

    本套JavaSE基础入门视频教程是专为编程初学者设计的,旨在33天内系统地教授Java语言的基础知识。第8天的课程主要聚焦在Eclipse集成开发环境的使用上,这对于Java编程来说至关重要。以下是对每个压缩包子文件内容的...

    JavaSE基础入门视频教程33天之(5) part1

    JavaSE基础入门是每个想要踏入Java编程领域的初学者必经之路。这个33天的视频教程系列,旨在帮助没有编程背景的人系统地学习Java基础知识,为成为初级程序员奠定坚实的基础。第五天的学习内容主要聚焦在Java的方法论...

Global site tag (gtag.js) - Google Analytics