java与c学习笔记(代码片段)

Pggcute Pggcute     2022-12-03     120

关键词:

C

https://fishc.com.cn/

1.hello world

  1. ubuntu搭建C语言环境
    安装vim(编辑器),gcc(编译器)和build-essential(编译程序必须软件包的列表信息)
sudo apt-get install vim
sudo apt-get install gcc
sudo apt-get install build-essential
  1. 在终端中,输入:vim hello.c 命令,将创建并进入到hello.c文件中
  2. 按 “i”键, 开始在文件中输入代码
#include <stdio.h>
 
int main()

    /* 我的第一个 C 程序 */
    printf("Hello! \\n");
 
    return 0;

  1. 按“Esc”键(如果不都管用多按几次,如果还不管用,使用shift+q跳出命令模式,然后再按esc键),输入 “ :wq ” 保存退出(注意wq前边有一个的英文冒号)
  2. 在终端界面输入下面的代码,将hello.c编译成可执行文件hello
    在 gcc 后面 加 -Wall ,可看到错误信息, -o hello 是为生成的文件命名为hello,如果不加-o则默认生成的a.out文件
gcc -Wall hello.c -o hello
  1. 执行文件hello
./hello


JAVA

来自尚硅谷老师的学习笔记:
http://www.atguigu.com/

1.hello world

代码:

public class HelloWorld 
    public static void main(String[] args) //main方法为程序入口
        System.out.println("Hello World");
    

编译 javac HelloWorld.java
运行 java HelloWorld

2.注释

2.1 单行

2.2 多行(不可嵌套)

2.3 文档注释(Java特有)/** */

会被解析

总结:

  1. 一个Java源文件中只能有一个类public,但可以有多个class
    要求申明public的类的类名与源文件名相同
  2. 程序的入口是main()方法,格式是固定的
  3. 输出语句:
System.out.println():输出后换行
System.out.print():只输出数据
  1. 执行语句借位都以“;”结束
  2. 编译过程:编译完成后会生成一个或多个字节码文件,字节码文件名与源文件中类名相同

3.运算符与标识符

3.1 标识符:所有可以自己命名的都叫标识符

命名规则:

  1. 严格区分大小写,长度无限制
  2. 不能包含空格,数字不可以开头
  3. 可以包含保留字和关键字,但是不能使用
  4. 由字母大小写,0-9,_,$组成

3.2Java中的名称命名规范:

  1. 包名:多单词组成时所有字母都小写:xxxyyyzzz
  2. 类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
  3. 变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzZ
  4. 常量名:所有字母都大写。多单词时每个单词用下划线连接:xXX_Y_zzZ

3.3变量

  1. 定义格式:数据类型 变量名 = 变量值
  2. 分类:

定义float类型时必须以f或F结尾
定义long类型时必须以l或L结尾
通常,定义浮点型使用double
定义char类型,使用一对’ ',内部只能有一个字符

3.4运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。算术运算符
  1. 赋值运算符(= += /= -= *= %= )
    支持连续赋值

    思考:1编译过不了,2是正常的

  2. 比较运算符(关系运算符)

    比较运算符的运算结果都是布尔型

  3. 逻辑运算符
    逻辑运算符操作的都是bool型的变量
    开发中推荐使用|| &&

  4. 位运算符(用的少)


5. 三元运算符

  1. 算术运算符

a. 关于除号 /

b. 关于取模运算 %

c. 关于自增++


4.流程控制

4.1 分支结构

4.1.1 else if

岳小鹏参加Java考试,他和父亲岳不群达成承诺:如果:
成绩为100分时,奖励一辆BMN;
成绩为(80,99]时,奖励一台iphone xs max;当成绩为[60,80]时,奖励一个iPad;
其它时,什么奖励也没有。
请从键盘输入岳小鹏的期末成绩,并加以判断

package com.sgg.score;

import java.util.Scanner;
public class score 

	public static void main(String[] args) 
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入小鹏的成绩:");
		int score = scan.nextInt();
		if(score == 100)
			System.out.println("to a bwm");
		else if (score>80 && score <=99) 
			System.out.println("a iphone");
		else if(score >=60 && score <=80) 
			System.out.println("a ipad");
		else 
			System.out.println("nothing");
		
	
	

说明:

  1. else结构是可选的
  2. 针对于多个表达式

多个条件表达式之间为互斥关系(没有交集),判断或执行语句在哪无所谓
若有交集 应该考虑清楚放在哪里

else-if 练习
编写程序:由键盘输入三个整数分别存入变量num1、num2. num3,对它们进行排序(使用if-else if-else),并且从小到大输出。

package com.sgg.number;

import java.util.Scanner;

public class number 
	
   public static void main(String[] args) 
	   Scanner scanner = new Scanner(System.in);
	   System.out.println("the first:");
	   int num1 = scanner.nextInt();
	   System.out.println("the second:");
	   int num2 = scanner.nextInt();
	   System.out.println("the third:");
	   int num3 = scanner.nextInt();
	   
	   
	   
	   if(num1 > num2) 
		   if(num3 >= num1) 
			   System.out.println(num2+","+num1+","+num3);
			   
		   else if(num3 <= num2) 
			   System.out.println(num3 + "," + num2 + ","+ num1);
		   else 
			   System.out.println(num2 +","+ num3+","+num1);
			
		   
	   else 
		   if(num3 >= num2) 
			   System.out.println(num1+","+num2+","+num3);
		   else if(num3 <= num1) 
			   System.out.println(num3+","+num1+","+num2);
		   else 
			   System.out.println(num1+","+num3+","+num2);
		   
	   
   
   

大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:高:180cm以机富:财富1千万以上;帅:是。
如果这三个条件同时满足,则:“我一定要嫁给他!!!”
如果三个条件有为真的情况,则:“嫁吧,比上不足,比下有余。”
如果三个条件都不满足,则:“不嫁!”

package com.sgg.marry;
import java.util.Scanner;

public class marry 
	public static void main(String[] args) 
		Scanner scan = new Scanner(System.in);
		System.out.println("请输入你的身高:(cm)");
		int height =scan.nextInt();
		System.out.println("你的资产:(千万)");
		double wealth =scan.nextDouble();
		System.out.println("你是否帅气:(true or false)");
		boolean ishandsome = scan.nextBoolean();
		if(height >=180 && wealth >=1 && ishandsome) 
			System.out.println("marry!!!!!!!!");
		else if(height >=180 || wealth >=1 || ishandsome) 
			System.out.println("just so so");
		else 
			System.out.println("no way");
		
	

4.1.2 switch-case

说明:

  1. 根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。4当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字switch-case结构末尾为止结束。
  2. break,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构
  3. switch结构中的表达式,只能是如下的6种数据类型之一: byte ,short、char、int、枚举类型(jdk5.0新增)、String类型(jdk7.0新增)
  4. case只能声明常量,不能声明范围(bool)
  5. default: 相当于if-else 中的 else (备胎)
  6. 如果switch-case结构中的多个case的执行语句相同,则可以考虑进行合并。
  7. 凡是可以使用switch-case的结构,都可以转换为if-else。反之,不成立。
public class sc 
  public static void main(String[] args) 
	int number = 2;
	switch(number) 
	case 0:
		System.out.println("zero");
	case 1:
		System.out.println("one");
	case 2:
		System.out.println("two");
	case 3:
		System.out.println("three");
	default:
		System.out.println("other");
	


4.2循环结构

题目:
从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序。

4.2.1 for循环

遍历100以内所有偶数

public class sc1 
 public static void main(String[] args) 
	for(int i =1;i <= 100;i++) 
		if(i % 2 == 0) 
			System.out.println(i);
		
	


4.2.2 while 循环

说明:

  1. 写while循环千万小心不要丢了迭代条件。一旦丢了,就可能导致死循环!
  2. 写程序要避免死循环
  3. for循环和while循环可以相互转换

遍历一百以内所有偶数

package com.sgg.sc1;
public class sc1 
 public static void main(String[] args) 
	int i = 1;
	while(i <= 100) 
		if(i % 2 == 0) 
			System.out.println(i);
		
		i++;
		
			
	
	

4.2.3 do-while循环

说明:

  1. do while至少会执行一次循环体
  2. 开发中for和while更多

遍历一百以内所有的偶数

package com.sgg.sc1;
import java.util.Scanner;
public class sc1 
 public static void main(String[] args) 
	int i = 1;
	do 
		if(i % 2 ==0) 
			System.out.println(i);
		
		i++;
	while(i<=100);
	
	

eclipse使用方法:

main方法 alt+/ 回车
输出:syso alt+/ 回车
new–>java project
项目名随意

右键src
new --> package (包名都得小写)
命名格式 com.xx.xx


右键package new–> class
命名随意

java学习笔记1(datawhale教程):基本数据类型与变量(代码片段)

java学习笔记1(datawhale教程):基本数据类型与变量这是今年datawhale7月组队学习的开源内容,当时没有报,现在去学一学😄👉链接同时结合了runoob上的教程:https://www.runoob.com/java/java-basic-syntax.html文章目录java学习笔记1... 查看详情

java学习笔记-io篇:文件与目录(代码片段)

Java学习笔记-IO篇:文件与目录File介绍增删改递归删除Java7Files状态检测设置权限获取文件信息遍历目录FilenameFilter过滤FileFilter过滤参考资料File介绍File作为一个工具类,没有太多要学习的东西。把方法过一遍知道它能干啥... 查看详情

java学习笔记-io篇:文件与目录(代码片段)

Java学习笔记-IO篇:文件与目录File介绍增删改递归删除Java7Files状态检测设置权限获取文件信息遍历目录FilenameFilter过滤FileFilter过滤参考资料File介绍File作为一个工具类,没有太多要学习的东西。把方法过一遍知道它能干啥... 查看详情

c#opencvsharp4学习笔记与心得(winform)(代码片段)

...的基本函数都已经在winform上实现一遍,现在就将我在学习过程中碰到的问题以及想法分享给大家。首先是配置环境:vs2019,.NetFramework4.8,Opencvsharp44.5.5.20211231,直接在Nuget包管理器内下载这几个就行。我的软件界面   ... 查看详情

mybatisjava持久层框架入门与实践|学习笔记(代码片段)

Java持久层框架入门与实践|学习笔记导读本篇文章将带领读者学习MyBatis框架。开始文章简述MyBatis。之后将手把手的搭建一个简单的MyBatis框架的测试,先跑起来。随后将基于该测试讲解MyBatis框架中重要的几个配置文件。然后... 查看详情

java集合学习笔记:abstractlist(代码片段)

Java集合学习笔记:AbstractListequals(Objecto)hashCode()indexOf(Objecto)lastIndexOf(Objecto)clear()addAll(intindex,Collection<?extendsE>c)equals(Objecto)ItrListItrSubList参考资料equals(Objecto)实现equa 查看详情

学习笔记hadoop——虚拟机安装java安装(代码片段)

文章目录一、虚拟机安装1.1、了解一下概念1.2、安装流程二、java安装2.1、了解2.2、安装流程一、虚拟机安装1.1、了解一下概念操作系统操作系统(operationsystem,简称OS)是管理计算机硬件与软件资源的计算机程序。操... 查看详情

java学习笔记(代码片段)

java笔记一、认识java语言1、Java平台-Java语言特性2、DOS命令指示符使用3、Java集成开发环境4、Java程序结构组成-类5、Java程序结构组成-方法6、Java程序结构组成-语句7、Java程序结构组成-注释8、命名规范二、运算符与表达式1、算术... 查看详情

c++程序设计基础学习笔记:以人为本:用类与对象诠释现实世界(代码片段)

相关博客目录C++程序设计基础学习笔记:(1)初识C++语言:从认识变量和常量开始,数据的表示C++程序设计基础学习笔记:(2)计算:从数据运算开始,数据简单运算C+... 查看详情

数据结构与算法——学习笔记汇总(代码片段)

目录视频推荐前言主要内容1.ArrayList-add(Ee)方法源码分析2.自定义顺序表API3.自定义单向链表API4.自定义双向链表API5.使用栈《解决括号匹配问题》6.使用栈《解决逆波兰表达式求值问题》7.数据结构与算法-自定义二叉树API8.递归-反... 查看详情

java内存学习笔记05-内存分配与回收策略(代码片段)

内存分配与回收策略对象优先在Eden分配前面已经提到过,在新生代,Eden和Survivor区域的容量比值,比值为8,在大多数情况下,对象在新生代Eden区中分配。当Eden区没有足够的空间进行分配时,虚拟机将发... 查看详情

b站学习数据结构笔记=====>稀疏数组(代码片段)

学习来源–>传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)程序==数据结构+算法数据结构包括线性结构与非线性的结构线性结构:特点;数据元素之间存在着一对一的线性关系;但是;线性结构又... 查看详情

java学习笔记(代码片段)

Java学习笔记进制相关十六进制十进制转十六进制负数转十六进制八进制二进制快捷使用基本概念VectorfinalCharacterMapequals与==的比较进制相关十六进制十六进制(英文名称:Hexadecimal),是计算机中数据的一种... 查看详情

java学习笔记(代码片段)

Java学习笔记进制相关十六进制十进制转十六进制负数转十六进制八进制二进制快捷使用基本概念VectorfinalCharacterMapequals与==的比较进制相关十六进制十六进制(英文名称:Hexadecimal),是计算机中数据的一种... 查看详情

stl学习笔记string(代码片段)

STL学习笔记(一)string常用函数c_str()增:insert()删:erase()改:replace()查:find()c_str()constchar*c_str();c_str()函数返回一个指向正规C字符串的指针,内容与本字符串相同strings="123"printf(&# 查看详情

重定向与转发的区别学习笔记(代码片段)

文字说明:一个web资源收到客户端请求后,通知客户端去访问另外一个web资源,这称之为请求重定向。实现方式response.sendRedirect(“/welcome.html”)实现原理:302状态码和location头即可实现重定向列如:java//取得提交的参数Stringusernam... 查看详情

学习笔记hadoop——hadoop集群的安装与部署——虚拟机安装java安装(代码片段)

一、虚拟机安装1.1、了解一下概念操作系统操作系统(operationsystem,简称OS)是管理计算机硬件与软件资源的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设... 查看详情

学习数据结构笔记=====>链表(代码片段)

学习来源–>传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)链表存储结构不一定就是连续的;比如下面这个单链表;链表由一个个地节点组成;data存放实际数据,next类似于一个指针;指向下一个节点;最后一... 查看详情